{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Implementing a Route Planner\n",
    "In this project you will use A\\* search to implement a \"Google-maps\" style route planning algorithm."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Map"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window.Plotly) {{require(['plotly'],function(plotly) {window.Plotly=plotly;});}}</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<script>requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window.Plotly) {{require(['plotly'],function(plotly) {window.Plotly=plotly;});}}</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Run this cell first!\n",
    "\n",
    "from helpers import Map, load_map_10, load_map_40, show_map\n",
    "import math\n",
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Map Basics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "none",
         "line": {
          "color": "#888",
          "width": 0.5
         },
         "mode": "lines",
         "type": "scatter",
         "x": [
          0.7798606835438107,
          0.46247219371675075,
          null,
          0.7798606835438107,
          0.8820353070895344,
          null,
          0.7798606835438107,
          0.49016747075266875,
          null,
          0.7647837074641568,
          0.8325506249953353,
          null,
          0.7647837074641568,
          0.7076566826610747,
          null,
          0.7647837074641568,
          0.7155217893995438,
          null,
          0.7155217893995438,
          0.8325506249953353,
          null,
          0.7155217893995438,
          0.7076566826610747,
          null,
          0.7076566826610747,
          0.49016747075266875,
          null,
          0.7076566826610747,
          0.8325506249953353,
          null,
          0.49016747075266875,
          0.46247219371675075,
          null,
          0.11622158839385677,
          0.1285377678230034,
          null
         ],
         "y": [
          0.6922727646627362,
          0.6258061621642713,
          null,
          0.6922727646627362,
          0.6791919587749445,
          null,
          0.6922727646627362,
          0.5464878695400415,
          null,
          0.3252670836724646,
          0.02310946309985762,
          null,
          0.3252670836724646,
          0.3278339270610988,
          null,
          0.3252670836724646,
          0.20026498027300055,
          null,
          0.20026498027300055,
          0.02310946309985762,
          null,
          0.20026498027300055,
          0.3278339270610988,
          null,
          0.3278339270610988,
          0.5464878695400415,
          null,
          0.3278339270610988,
          0.02310946309985762,
          null,
          0.5464878695400415,
          0.6258061621642713,
          null,
          0.11236327488812581,
          0.3285840695698353,
          null
         ]
        },
        {
         "hoverinfo": "text",
         "marker": {
          "color": [
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0
          ],
          "colorbar": {
           "thickness": 15,
           "title": "Node Connections",
           "titleside": "right",
           "xanchor": "left"
          },
          "colorscale": "Hot",
          "line": {
           "width": 2
          },
          "reversescale": true,
          "showscale": false,
          "size": 10
         },
         "mode": "markers",
         "text": [
          "Intersection 0",
          "Intersection 1",
          "Intersection 2",
          "Intersection 3",
          "Intersection 4",
          "Intersection 5",
          "Intersection 6",
          "Intersection 7",
          "Intersection 8",
          "Intersection 9"
         ],
         "type": "scatter",
         "x": [
          0.7798606835438107,
          0.7647837074641568,
          0.7155217893995438,
          0.7076566826610747,
          0.8325506249953353,
          0.49016747075266875,
          0.8820353070895344,
          0.46247219371675075,
          0.11622158839385677,
          0.1285377678230034
         ],
         "y": [
          0.6922727646627362,
          0.3252670836724646,
          0.20026498027300055,
          0.3278339270610988,
          0.02310946309985762,
          0.5464878695400415,
          0.6791919587749445,
          0.6258061621642713,
          0.11236327488812581,
          0.3285840695698353
         ]
        }
       ],
       "layout": {
        "hovermode": "closest",
        "margin": {
         "b": 20,
         "l": 5,
         "r": 5,
         "t": 40
        },
        "showlegend": false,
        "title": "<br>Network graph made with Python",
        "titlefont": {
         "size": 16
        },
        "xaxis": {
         "showgrid": false,
         "showticklabels": false,
         "zeroline": false
        },
        "yaxis": {
         "showgrid": false,
         "showticklabels": false,
         "zeroline": false
        }
       }
      },
      "text/html": [
       "<div id=\"eafd566d-e86a-4725-be01-6ce576fbbc4c\" style=\"height: 525px; width: 100%;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"eafd566d-e86a-4725-be01-6ce576fbbc4c\", [{\"type\": \"scatter\", \"x\": [0.7798606835438107, 0.46247219371675075, null, 0.7798606835438107, 0.8820353070895344, null, 0.7798606835438107, 0.49016747075266875, null, 0.7647837074641568, 0.8325506249953353, null, 0.7647837074641568, 0.7076566826610747, null, 0.7647837074641568, 0.7155217893995438, null, 0.7155217893995438, 0.8325506249953353, null, 0.7155217893995438, 0.7076566826610747, null, 0.7076566826610747, 0.49016747075266875, null, 0.7076566826610747, 0.8325506249953353, null, 0.49016747075266875, 0.46247219371675075, null, 0.11622158839385677, 0.1285377678230034, null], \"y\": [0.6922727646627362, 0.6258061621642713, null, 0.6922727646627362, 0.6791919587749445, null, 0.6922727646627362, 0.5464878695400415, null, 0.3252670836724646, 0.02310946309985762, null, 0.3252670836724646, 0.3278339270610988, null, 0.3252670836724646, 0.20026498027300055, null, 0.20026498027300055, 0.02310946309985762, null, 0.20026498027300055, 0.3278339270610988, null, 0.3278339270610988, 0.5464878695400415, null, 0.3278339270610988, 0.02310946309985762, null, 0.5464878695400415, 0.6258061621642713, null, 0.11236327488812581, 0.3285840695698353, null], \"line\": {\"width\": 0.5, \"color\": \"#888\"}, \"hoverinfo\": \"none\", \"mode\": \"lines\"}, {\"type\": \"scatter\", \"x\": [0.7798606835438107, 0.7647837074641568, 0.7155217893995438, 0.7076566826610747, 0.8325506249953353, 0.49016747075266875, 0.8820353070895344, 0.46247219371675075, 0.11622158839385677, 0.1285377678230034], \"y\": [0.6922727646627362, 0.3252670836724646, 0.20026498027300055, 0.3278339270610988, 0.02310946309985762, 0.5464878695400415, 0.6791919587749445, 0.6258061621642713, 0.11236327488812581, 0.3285840695698353], \"text\": [\"Intersection 0\", \"Intersection 1\", \"Intersection 2\", \"Intersection 3\", \"Intersection 4\", \"Intersection 5\", \"Intersection 6\", \"Intersection 7\", \"Intersection 8\", \"Intersection 9\"], \"mode\": \"markers\", \"hoverinfo\": \"text\", \"marker\": {\"showscale\": false, \"colorscale\": \"Hot\", \"reversescale\": true, \"color\": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"size\": 10, \"colorbar\": {\"thickness\": 15, \"title\": \"Node Connections\", \"xanchor\": \"left\", \"titleside\": \"right\"}, \"line\": {\"width\": 2}}}], {\"title\": \"<br>Network graph made with Python\", \"titlefont\": {\"size\": 16}, \"showlegend\": false, \"hovermode\": \"closest\", \"margin\": {\"b\": 20, \"l\": 5, \"r\": 5, \"t\": 40}, \"xaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}, \"yaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"eafd566d-e86a-4725-be01-6ce576fbbc4c\" style=\"height: 525px; width: 100%;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"eafd566d-e86a-4725-be01-6ce576fbbc4c\", [{\"type\": \"scatter\", \"x\": [0.7798606835438107, 0.46247219371675075, null, 0.7798606835438107, 0.8820353070895344, null, 0.7798606835438107, 0.49016747075266875, null, 0.7647837074641568, 0.8325506249953353, null, 0.7647837074641568, 0.7076566826610747, null, 0.7647837074641568, 0.7155217893995438, null, 0.7155217893995438, 0.8325506249953353, null, 0.7155217893995438, 0.7076566826610747, null, 0.7076566826610747, 0.49016747075266875, null, 0.7076566826610747, 0.8325506249953353, null, 0.49016747075266875, 0.46247219371675075, null, 0.11622158839385677, 0.1285377678230034, null], \"y\": [0.6922727646627362, 0.6258061621642713, null, 0.6922727646627362, 0.6791919587749445, null, 0.6922727646627362, 0.5464878695400415, null, 0.3252670836724646, 0.02310946309985762, null, 0.3252670836724646, 0.3278339270610988, null, 0.3252670836724646, 0.20026498027300055, null, 0.20026498027300055, 0.02310946309985762, null, 0.20026498027300055, 0.3278339270610988, null, 0.3278339270610988, 0.5464878695400415, null, 0.3278339270610988, 0.02310946309985762, null, 0.5464878695400415, 0.6258061621642713, null, 0.11236327488812581, 0.3285840695698353, null], \"line\": {\"width\": 0.5, \"color\": \"#888\"}, \"hoverinfo\": \"none\", \"mode\": \"lines\"}, {\"type\": \"scatter\", \"x\": [0.7798606835438107, 0.7647837074641568, 0.7155217893995438, 0.7076566826610747, 0.8325506249953353, 0.49016747075266875, 0.8820353070895344, 0.46247219371675075, 0.11622158839385677, 0.1285377678230034], \"y\": [0.6922727646627362, 0.3252670836724646, 0.20026498027300055, 0.3278339270610988, 0.02310946309985762, 0.5464878695400415, 0.6791919587749445, 0.6258061621642713, 0.11236327488812581, 0.3285840695698353], \"text\": [\"Intersection 0\", \"Intersection 1\", \"Intersection 2\", \"Intersection 3\", \"Intersection 4\", \"Intersection 5\", \"Intersection 6\", \"Intersection 7\", \"Intersection 8\", \"Intersection 9\"], \"mode\": \"markers\", \"hoverinfo\": \"text\", \"marker\": {\"showscale\": false, \"colorscale\": \"Hot\", \"reversescale\": true, \"color\": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"size\": 10, \"colorbar\": {\"thickness\": 15, \"title\": \"Node Connections\", \"xanchor\": \"left\", \"titleside\": \"right\"}, \"line\": {\"width\": 2}}}], {\"title\": \"<br>Network graph made with Python\", \"titlefont\": {\"size\": 16}, \"showlegend\": false, \"hovermode\": \"closest\", \"margin\": {\"b\": 20, \"l\": 5, \"r\": 5, \"t\": 40}, \"xaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}, \"yaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "map_10 = load_map_10()\n",
    "show_map(map_10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The map above (run the code cell if you don't see it) shows a disconnected network of 10 intersections. The two intersections on the left are connected to each other but they are not connected to the rest of the road network. This map is quite literal in its expression of distance and connectivity. On the graph above, the edge between 2 nodes(intersections) represents a literal straight road not just an abstract connection of 2 cities.\n",
    "\n",
    "These `Map` objects have two properties you will want to use to implement A\\* search: `intersections` and `roads`\n",
    "\n",
    "**Intersections**\n",
    "\n",
    "The `intersections` are represented as a dictionary. \n",
    "\n",
    "In this example, there are 10 intersections, each identified by an x,y coordinate. The coordinates are listed below. You can hover over each dot in the map above to see the intersection number."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{0: (0.7798606835438107, 0.6922727646627362),\n",
       " 1: (0.7647837074641568, 0.3252670836724646),\n",
       " 2: (0.7155217893995438, 0.20026498027300055),\n",
       " 3: (0.7076566826610747, 0.3278339270610988),\n",
       " 4: (0.8325506249953353, 0.02310946309985762),\n",
       " 5: (0.49016747075266875, 0.5464878695400415),\n",
       " 6: (0.8820353070895344, 0.6791919587749445),\n",
       " 7: (0.46247219371675075, 0.6258061621642713),\n",
       " 8: (0.11622158839385677, 0.11236327488812581),\n",
       " 9: (0.1285377678230034, 0.3285840695698353)}"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "map_10.intersections"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Roads**\n",
    "\n",
    "The `roads` property is a list where `roads[i]` contains a list of the intersections that intersection `i` connects to."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[7, 6, 5]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# this shows that intersection 0 connects to intersections 7, 6, and 5\n",
    "map_10.roads[0] "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[7, 6, 5],\n",
       " [4, 3, 2],\n",
       " [1, 4, 3],\n",
       " [1, 2, 5, 4],\n",
       " [1, 2, 3],\n",
       " [0, 3, 7],\n",
       " [0],\n",
       " [0, 5],\n",
       " [9],\n",
       " [8]]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# This shows the full connectivity of the map\n",
    "map_10.roads"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "none",
         "line": {
          "color": "#888",
          "width": 0.5
         },
         "mode": "lines",
         "type": "scatter",
         "x": [
          0.7801603911549438,
          0.740625863119245,
          null,
          0.7801603911549438,
          0.583993110207876,
          null,
          0.7801603911549438,
          0.640952694324525,
          null,
          0.7801603911549438,
          0.6435799740880603,
          null,
          0.7801603911549438,
          0.607698913404794,
          null,
          0.5249831588690298,
          0.3073865727705063,
          null,
          0.5249831588690298,
          0.640952694324525,
          null,
          0.5249831588690298,
          0.7482655725962591,
          null,
          0.5249831588690298,
          0.5572917679006295,
          null,
          0.5249831588690298,
          0.6243437191127235,
          null,
          0.5249831588690298,
          0.4238357358399233,
          null,
          0.5249831588690298,
          0.719569201584275,
          null,
          0.5249831588690298,
          0.607698913404794,
          null,
          0.5249831588690298,
          0.4582523173083307,
          null,
          0.5249831588690298,
          0.313999018186756,
          null,
          0.8085335344099086,
          0.6315322816286787,
          null,
          0.8085335344099086,
          0.740625863119245,
          null,
          0.8085335344099086,
          0.8252497121120052,
          null,
          0.8085335344099086,
          0.8860336256842246,
          null,
          0.8085335344099086,
          0.8551947714242674,
          null,
          0.8085335344099086,
          0.6824813442515916,
          null,
          0.8085335344099086,
          0.7353838928272886,
          null,
          0.2599134798656856,
          0.3073865727705063,
          null,
          0.2599134798656856,
          0.4238357358399233,
          null,
          0.2599134798656856,
          0.4582523173083307,
          null,
          0.2599134798656856,
          0.25311953895059136,
          null,
          0.2599134798656856,
          0.313999018186756,
          null,
          0.7353838928272886,
          0.6315322816286787,
          null,
          0.7353838928272886,
          0.740625863119245,
          null,
          0.7353838928272886,
          0.8252497121120052,
          null,
          0.7353838928272886,
          0.8860336256842246,
          null,
          0.7353838928272886,
          0.8551947714242674,
          null,
          0.7353838928272886,
          0.6824813442515916,
          null,
          0.09088671576431506,
          0.17440205342790494,
          null,
          0.09088671576431506,
          0.12939557977525573,
          null,
          0.09088671576431506,
          0.04580558670435442,
          null,
          0.313999018186756,
          0.3073865727705063,
          null,
          0.313999018186756,
          0.4238357358399233,
          null,
          0.313999018186756,
          0.4582523173083307,
          null,
          0.313999018186756,
          0.25311953895059136,
          null,
          0.6824813442515916,
          0.6315322816286787,
          null,
          0.6824813442515916,
          0.740625863119245,
          null,
          0.6824813442515916,
          0.47415009287034726,
          null,
          0.6824813442515916,
          0.8252497121120052,
          null,
          0.6824813442515916,
          0.8860336256842246,
          null,
          0.6824813442515916,
          0.8551947714242674,
          null,
          0.20128789391122526,
          0.1332965908314021,
          null,
          0.20128789391122526,
          0.021423673670808885,
          null,
          0.20128789391122526,
          0.04580558670435442,
          null,
          0.8551947714242674,
          0.740625863119245,
          null,
          0.8551947714242674,
          0.8252497121120052,
          null,
          0.8551947714242674,
          0.8860336256842246,
          null,
          0.7581736589784409,
          0.640952694324525,
          null,
          0.7581736589784409,
          0.7482655725962591,
          null,
          0.7581736589784409,
          0.5572917679006295,
          null,
          0.7581736589784409,
          0.6243437191127235,
          null,
          0.7581736589784409,
          0.9363713903322148,
          null,
          0.7581736589784409,
          0.719569201584275,
          null,
          0.7581736589784409,
          0.607698913404794,
          null,
          0.7581736589784409,
          0.9112422509614865,
          null,
          0.25311953895059136,
          0.3073865727705063,
          null,
          0.25311953895059136,
          0.4238357358399233,
          null,
          0.25311953895059136,
          0.4582523173083307,
          null,
          0.4813859169876731,
          0.3345284735051981,
          null,
          0.4813859169876731,
          0.583993110207876,
          null,
          0.4813859169876731,
          0.640952694324525,
          null,
          0.4813859169876731,
          0.6435799740880603,
          null,
          0.4813859169876731,
          0.47415009287034726,
          null,
          0.4813859169876731,
          0.607698913404794,
          null,
          0.9112422509614865,
          0.7482655725962591,
          null,
          0.9112422509614865,
          0.9363713903322148,
          null,
          0.9112422509614865,
          0.719569201584275,
          null,
          0.04580558670435442,
          0.1332965908314021,
          null,
          0.04580558670435442,
          0.021423673670808885,
          null,
          0.04580558670435442,
          0.12939557977525573,
          null,
          0.4582523173083307,
          0.3073865727705063,
          null,
          0.4582523173083307,
          0.640952694324525,
          null,
          0.4582523173083307,
          0.5572917679006295,
          null,
          0.4582523173083307,
          0.6243437191127235,
          null,
          0.4582523173083307,
          0.4238357358399233,
          null,
          0.4582523173083307,
          0.607698913404794,
          null,
          0.12939557977525573,
          0.3345284735051981,
          null,
          0.12939557977525573,
          0.021423673670808885,
          null,
          0.607698913404794,
          0.583993110207876,
          null,
          0.607698913404794,
          0.640952694324525,
          null,
          0.607698913404794,
          0.6435799740880603,
          null,
          0.607698913404794,
          0.5572917679006295,
          null,
          0.607698913404794,
          0.6243437191127235,
          null,
          0.607698913404794,
          0.719569201584275,
          null,
          0.719569201584275,
          0.640952694324525,
          null,
          0.719569201584275,
          0.7482655725962591,
          null,
          0.719569201584275,
          0.5572917679006295,
          null,
          0.719569201584275,
          0.6243437191127235,
          null,
          0.719569201584275,
          0.9363713903322148,
          null,
          0.8860336256842246,
          0.8252497121120052,
          null,
          0.4238357358399233,
          0.3073865727705063,
          null,
          0.4238357358399233,
          0.5572917679006295,
          null,
          0.47415009287034726,
          0.6315322816286787,
          null,
          0.47415009287034726,
          0.3345284735051981,
          null,
          0.47415009287034726,
          0.34509802713919313,
          null,
          0.26253385360950576,
          0.17972981733780147,
          null,
          0.26253385360950576,
          0.17440205342790494,
          null,
          0.26253385360950576,
          0.34509802713919313,
          null,
          0.9363713903322148,
          0.7482655725962591,
          null,
          0.6243437191127235,
          0.583993110207876,
          null,
          0.6243437191127235,
          0.640952694324525,
          null,
          0.6243437191127235,
          0.7482655725962591,
          null,
          0.6243437191127235,
          0.5572917679006295,
          null,
          0.5572917679006295,
          0.583993110207876,
          null,
          0.5572917679006295,
          0.640952694324525,
          null,
          0.5572917679006295,
          0.7482655725962591,
          null,
          0.7482655725962591,
          0.640952694324525,
          null,
          0.6435799740880603,
          0.6315322816286787,
          null,
          0.6435799740880603,
          0.740625863119245,
          null,
          0.6435799740880603,
          0.583993110207876,
          null,
          0.6435799740880603,
          0.640952694324525,
          null,
          0.34509802713919313,
          0.17972981733780147,
          null,
          0.34509802713919313,
          0.3345284735051981,
          null,
          0.34509802713919313,
          0.17440205342790494,
          null,
          0.021423673670808885,
          0.1332965908314021,
          null,
          0.640952694324525,
          0.583993110207876,
          null,
          0.17440205342790494,
          0.17972981733780147,
          null,
          0.740625863119245,
          0.6315322816286787,
          null
         ],
         "y": [
          0.49474860768712914,
          0.68128520136847,
          null,
          0.49474860768712914,
          0.42704536740474663,
          null,
          0.49474860768712914,
          0.3232711412508066,
          null,
          0.49474860768712914,
          0.5488515965193208,
          null,
          0.49474860768712914,
          0.362322730884702,
          null,
          0.14953665513987202,
          0.09186645974288632,
          null,
          0.14953665513987202,
          0.3232711412508066,
          null,
          0.14953665513987202,
          0.12631654071213483,
          null,
          0.14953665513987202,
          0.2083567880838434,
          null,
          0.14953665513987202,
          0.21665962402659544,
          null,
          0.14953665513987202,
          0.026771817842421997,
          null,
          0.14953665513987202,
          0.13985272363426526,
          null,
          0.14953665513987202,
          0.362322730884702,
          null,
          0.14953665513987202,
          0.1735506267461867,
          null,
          0.14953665513987202,
          0.01876171413125327,
          null,
          0.7696330846542071,
          0.7311657634689946,
          null,
          0.7696330846542071,
          0.68128520136847,
          null,
          0.7696330846542071,
          0.9532681441921305,
          null,
          0.7696330846542071,
          0.891868301175821,
          null,
          0.7696330846542071,
          0.9011339078096633,
          null,
          0.7696330846542071,
          0.8016111783687677,
          null,
          0.7696330846542071,
          0.8089961609345658,
          null,
          0.14485659826020547,
          0.09186645974288632,
          null,
          0.14485659826020547,
          0.026771817842421997,
          null,
          0.14485659826020547,
          0.1735506267461867,
          null,
          0.14485659826020547,
          0.10321622277398101,
          null,
          0.14485659826020547,
          0.01876171413125327,
          null,
          0.8089961609345658,
          0.7311657634689946,
          null,
          0.8089961609345658,
          0.68128520136847,
          null,
          0.8089961609345658,
          0.9532681441921305,
          null,
          0.8089961609345658,
          0.891868301175821,
          null,
          0.8089961609345658,
          0.9011339078096633,
          null,
          0.8089961609345658,
          0.8016111783687677,
          null,
          0.7222846879290787,
          0.9528527425842739,
          null,
          0.7222846879290787,
          0.690016328140396,
          null,
          0.7222846879290787,
          0.5886703168399895,
          null,
          0.01876171413125327,
          0.09186645974288632,
          null,
          0.01876171413125327,
          0.026771817842421997,
          null,
          0.01876171413125327,
          0.1735506267461867,
          null,
          0.01876171413125327,
          0.10321622277398101,
          null,
          0.8016111783687677,
          0.7311657634689946,
          null,
          0.8016111783687677,
          0.68128520136847,
          null,
          0.8016111783687677,
          0.7353428557575755,
          null,
          0.8016111783687677,
          0.9532681441921305,
          null,
          0.8016111783687677,
          0.891868301175821,
          null,
          0.8016111783687677,
          0.9011339078096633,
          null,
          0.43196344222361227,
          0.3996510641743197,
          null,
          0.43196344222361227,
          0.4666482714834408,
          null,
          0.43196344222361227,
          0.5886703168399895,
          null,
          0.9011339078096633,
          0.68128520136847,
          null,
          0.9011339078096633,
          0.9532681441921305,
          null,
          0.9011339078096633,
          0.891868301175821,
          null,
          0.24026772497187532,
          0.3232711412508066,
          null,
          0.24026772497187532,
          0.12631654071213483,
          null,
          0.24026772497187532,
          0.2083567880838434,
          null,
          0.24026772497187532,
          0.21665962402659544,
          null,
          0.24026772497187532,
          0.13022993020357043,
          null,
          0.24026772497187532,
          0.13985272363426526,
          null,
          0.24026772497187532,
          0.362322730884702,
          null,
          0.24026772497187532,
          0.1839028760606296,
          null,
          0.10321622277398101,
          0.09186645974288632,
          null,
          0.10321622277398101,
          0.026771817842421997,
          null,
          0.10321622277398101,
          0.1735506267461867,
          null,
          0.5006237737207431,
          0.6569436279895382,
          null,
          0.5006237737207431,
          0.42704536740474663,
          null,
          0.5006237737207431,
          0.3232711412508066,
          null,
          0.5006237737207431,
          0.5488515965193208,
          null,
          0.5006237737207431,
          0.7353428557575755,
          null,
          0.5006237737207431,
          0.362322730884702,
          null,
          0.1839028760606296,
          0.12631654071213483,
          null,
          0.1839028760606296,
          0.13022993020357043,
          null,
          0.1839028760606296,
          0.13985272363426526,
          null,
          0.5886703168399895,
          0.3996510641743197,
          null,
          0.5886703168399895,
          0.4666482714834408,
          null,
          0.5886703168399895,
          0.690016328140396,
          null,
          0.1735506267461867,
          0.09186645974288632,
          null,
          0.1735506267461867,
          0.3232711412508066,
          null,
          0.1735506267461867,
          0.2083567880838434,
          null,
          0.1735506267461867,
          0.21665962402659544,
          null,
          0.1735506267461867,
          0.026771817842421997,
          null,
          0.1735506267461867,
          0.362322730884702,
          null,
          0.690016328140396,
          0.6569436279895382,
          null,
          0.690016328140396,
          0.4666482714834408,
          null,
          0.362322730884702,
          0.42704536740474663,
          null,
          0.362322730884702,
          0.3232711412508066,
          null,
          0.362322730884702,
          0.5488515965193208,
          null,
          0.362322730884702,
          0.2083567880838434,
          null,
          0.362322730884702,
          0.21665962402659544,
          null,
          0.362322730884702,
          0.13985272363426526,
          null,
          0.13985272363426526,
          0.3232711412508066,
          null,
          0.13985272363426526,
          0.12631654071213483,
          null,
          0.13985272363426526,
          0.2083567880838434,
          null,
          0.13985272363426526,
          0.21665962402659544,
          null,
          0.13985272363426526,
          0.13022993020357043,
          null,
          0.891868301175821,
          0.9532681441921305,
          null,
          0.026771817842421997,
          0.09186645974288632,
          null,
          0.026771817842421997,
          0.2083567880838434,
          null,
          0.7353428557575755,
          0.7311657634689946,
          null,
          0.7353428557575755,
          0.6569436279895382,
          null,
          0.7353428557575755,
          0.8800306496459869,
          null,
          0.9768234503830939,
          0.999395685828547,
          null,
          0.9768234503830939,
          0.9528527425842739,
          null,
          0.9768234503830939,
          0.8800306496459869,
          null,
          0.13022993020357043,
          0.12631654071213483,
          null,
          0.21665962402659544,
          0.42704536740474663,
          null,
          0.21665962402659544,
          0.3232711412508066,
          null,
          0.21665962402659544,
          0.12631654071213483,
          null,
          0.21665962402659544,
          0.2083567880838434,
          null,
          0.2083567880838434,
          0.42704536740474663,
          null,
          0.2083567880838434,
          0.3232711412508066,
          null,
          0.2083567880838434,
          0.12631654071213483,
          null,
          0.12631654071213483,
          0.3232711412508066,
          null,
          0.5488515965193208,
          0.7311657634689946,
          null,
          0.5488515965193208,
          0.68128520136847,
          null,
          0.5488515965193208,
          0.42704536740474663,
          null,
          0.5488515965193208,
          0.3232711412508066,
          null,
          0.8800306496459869,
          0.999395685828547,
          null,
          0.8800306496459869,
          0.6569436279895382,
          null,
          0.8800306496459869,
          0.9528527425842739,
          null,
          0.4666482714834408,
          0.3996510641743197,
          null,
          0.3232711412508066,
          0.42704536740474663,
          null,
          0.9528527425842739,
          0.999395685828547,
          null,
          0.68128520136847,
          0.7311657634689946,
          null
         ]
        },
        {
         "hoverinfo": "text",
         "marker": {
          "color": [
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0
          ],
          "colorbar": {
           "thickness": 15,
           "title": "Node Connections",
           "titleside": "right",
           "xanchor": "left"
          },
          "colorscale": "Hot",
          "line": {
           "width": 2
          },
          "reversescale": true,
          "showscale": false,
          "size": 10
         },
         "mode": "markers",
         "text": [
          "Intersection 0",
          "Intersection 1",
          "Intersection 2",
          "Intersection 3",
          "Intersection 4",
          "Intersection 5",
          "Intersection 6",
          "Intersection 7",
          "Intersection 8",
          "Intersection 9",
          "Intersection 10",
          "Intersection 11",
          "Intersection 12",
          "Intersection 13",
          "Intersection 14",
          "Intersection 15",
          "Intersection 16",
          "Intersection 17",
          "Intersection 18",
          "Intersection 19",
          "Intersection 20",
          "Intersection 21",
          "Intersection 22",
          "Intersection 23",
          "Intersection 24",
          "Intersection 25",
          "Intersection 26",
          "Intersection 27",
          "Intersection 28",
          "Intersection 29",
          "Intersection 30",
          "Intersection 31",
          "Intersection 32",
          "Intersection 33",
          "Intersection 34",
          "Intersection 35",
          "Intersection 36",
          "Intersection 37",
          "Intersection 38",
          "Intersection 39"
         ],
         "type": "scatter",
         "x": [
          0.7801603911549438,
          0.5249831588690298,
          0.8085335344099086,
          0.2599134798656856,
          0.7353838928272886,
          0.09088671576431506,
          0.313999018186756,
          0.6824813442515916,
          0.20128789391122526,
          0.8551947714242674,
          0.7581736589784409,
          0.25311953895059136,
          0.4813859169876731,
          0.9112422509614865,
          0.04580558670435442,
          0.4582523173083307,
          0.12939557977525573,
          0.607698913404794,
          0.719569201584275,
          0.8860336256842246,
          0.4238357358399233,
          0.8252497121120052,
          0.47415009287034726,
          0.26253385360950576,
          0.9363713903322148,
          0.6243437191127235,
          0.5572917679006295,
          0.7482655725962591,
          0.6435799740880603,
          0.34509802713919313,
          0.021423673670808885,
          0.640952694324525,
          0.17440205342790494,
          0.1332965908314021,
          0.583993110207876,
          0.3073865727705063,
          0.740625863119245,
          0.3345284735051981,
          0.17972981733780147,
          0.6315322816286787
         ],
         "y": [
          0.49474860768712914,
          0.14953665513987202,
          0.7696330846542071,
          0.14485659826020547,
          0.8089961609345658,
          0.7222846879290787,
          0.01876171413125327,
          0.8016111783687677,
          0.43196344222361227,
          0.9011339078096633,
          0.24026772497187532,
          0.10321622277398101,
          0.5006237737207431,
          0.1839028760606296,
          0.5886703168399895,
          0.1735506267461867,
          0.690016328140396,
          0.362322730884702,
          0.13985272363426526,
          0.891868301175821,
          0.026771817842421997,
          0.9532681441921305,
          0.7353428557575755,
          0.9768234503830939,
          0.13022993020357043,
          0.21665962402659544,
          0.2083567880838434,
          0.12631654071213483,
          0.5488515965193208,
          0.8800306496459869,
          0.4666482714834408,
          0.3232711412508066,
          0.9528527425842739,
          0.3996510641743197,
          0.42704536740474663,
          0.09186645974288632,
          0.68128520136847,
          0.6569436279895382,
          0.999395685828547,
          0.7311657634689946
         ]
        }
       ],
       "layout": {
        "hovermode": "closest",
        "margin": {
         "b": 20,
         "l": 5,
         "r": 5,
         "t": 40
        },
        "showlegend": false,
        "title": "<br>Network graph made with Python",
        "titlefont": {
         "size": 16
        },
        "xaxis": {
         "showgrid": false,
         "showticklabels": false,
         "zeroline": false
        },
        "yaxis": {
         "showgrid": false,
         "showticklabels": false,
         "zeroline": false
        }
       }
      },
      "text/html": [
       "<div id=\"fdae665b-04a6-44cc-8544-5c5a8fd9f16b\" style=\"height: 525px; width: 100%;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"fdae665b-04a6-44cc-8544-5c5a8fd9f16b\", [{\"type\": \"scatter\", \"x\": [0.7801603911549438, 0.740625863119245, null, 0.7801603911549438, 0.583993110207876, null, 0.7801603911549438, 0.640952694324525, null, 0.7801603911549438, 0.6435799740880603, null, 0.7801603911549438, 0.607698913404794, null, 0.5249831588690298, 0.3073865727705063, null, 0.5249831588690298, 0.640952694324525, null, 0.5249831588690298, 0.7482655725962591, null, 0.5249831588690298, 0.5572917679006295, null, 0.5249831588690298, 0.6243437191127235, null, 0.5249831588690298, 0.4238357358399233, null, 0.5249831588690298, 0.719569201584275, null, 0.5249831588690298, 0.607698913404794, null, 0.5249831588690298, 0.4582523173083307, null, 0.5249831588690298, 0.313999018186756, null, 0.8085335344099086, 0.6315322816286787, null, 0.8085335344099086, 0.740625863119245, null, 0.8085335344099086, 0.8252497121120052, null, 0.8085335344099086, 0.8860336256842246, null, 0.8085335344099086, 0.8551947714242674, null, 0.8085335344099086, 0.6824813442515916, null, 0.8085335344099086, 0.7353838928272886, null, 0.2599134798656856, 0.3073865727705063, null, 0.2599134798656856, 0.4238357358399233, null, 0.2599134798656856, 0.4582523173083307, null, 0.2599134798656856, 0.25311953895059136, null, 0.2599134798656856, 0.313999018186756, null, 0.7353838928272886, 0.6315322816286787, null, 0.7353838928272886, 0.740625863119245, null, 0.7353838928272886, 0.8252497121120052, null, 0.7353838928272886, 0.8860336256842246, null, 0.7353838928272886, 0.8551947714242674, null, 0.7353838928272886, 0.6824813442515916, null, 0.09088671576431506, 0.17440205342790494, null, 0.09088671576431506, 0.12939557977525573, null, 0.09088671576431506, 0.04580558670435442, null, 0.313999018186756, 0.3073865727705063, null, 0.313999018186756, 0.4238357358399233, null, 0.313999018186756, 0.4582523173083307, null, 0.313999018186756, 0.25311953895059136, null, 0.6824813442515916, 0.6315322816286787, null, 0.6824813442515916, 0.740625863119245, null, 0.6824813442515916, 0.47415009287034726, null, 0.6824813442515916, 0.8252497121120052, null, 0.6824813442515916, 0.8860336256842246, null, 0.6824813442515916, 0.8551947714242674, null, 0.20128789391122526, 0.1332965908314021, null, 0.20128789391122526, 0.021423673670808885, null, 0.20128789391122526, 0.04580558670435442, null, 0.8551947714242674, 0.740625863119245, null, 0.8551947714242674, 0.8252497121120052, null, 0.8551947714242674, 0.8860336256842246, null, 0.7581736589784409, 0.640952694324525, null, 0.7581736589784409, 0.7482655725962591, null, 0.7581736589784409, 0.5572917679006295, null, 0.7581736589784409, 0.6243437191127235, null, 0.7581736589784409, 0.9363713903322148, null, 0.7581736589784409, 0.719569201584275, null, 0.7581736589784409, 0.607698913404794, null, 0.7581736589784409, 0.9112422509614865, null, 0.25311953895059136, 0.3073865727705063, null, 0.25311953895059136, 0.4238357358399233, null, 0.25311953895059136, 0.4582523173083307, null, 0.4813859169876731, 0.3345284735051981, null, 0.4813859169876731, 0.583993110207876, null, 0.4813859169876731, 0.640952694324525, null, 0.4813859169876731, 0.6435799740880603, null, 0.4813859169876731, 0.47415009287034726, null, 0.4813859169876731, 0.607698913404794, null, 0.9112422509614865, 0.7482655725962591, null, 0.9112422509614865, 0.9363713903322148, null, 0.9112422509614865, 0.719569201584275, null, 0.04580558670435442, 0.1332965908314021, null, 0.04580558670435442, 0.021423673670808885, null, 0.04580558670435442, 0.12939557977525573, null, 0.4582523173083307, 0.3073865727705063, null, 0.4582523173083307, 0.640952694324525, null, 0.4582523173083307, 0.5572917679006295, null, 0.4582523173083307, 0.6243437191127235, null, 0.4582523173083307, 0.4238357358399233, null, 0.4582523173083307, 0.607698913404794, null, 0.12939557977525573, 0.3345284735051981, null, 0.12939557977525573, 0.021423673670808885, null, 0.607698913404794, 0.583993110207876, null, 0.607698913404794, 0.640952694324525, null, 0.607698913404794, 0.6435799740880603, null, 0.607698913404794, 0.5572917679006295, null, 0.607698913404794, 0.6243437191127235, null, 0.607698913404794, 0.719569201584275, null, 0.719569201584275, 0.640952694324525, null, 0.719569201584275, 0.7482655725962591, null, 0.719569201584275, 0.5572917679006295, null, 0.719569201584275, 0.6243437191127235, null, 0.719569201584275, 0.9363713903322148, null, 0.8860336256842246, 0.8252497121120052, null, 0.4238357358399233, 0.3073865727705063, null, 0.4238357358399233, 0.5572917679006295, null, 0.47415009287034726, 0.6315322816286787, null, 0.47415009287034726, 0.3345284735051981, null, 0.47415009287034726, 0.34509802713919313, null, 0.26253385360950576, 0.17972981733780147, null, 0.26253385360950576, 0.17440205342790494, null, 0.26253385360950576, 0.34509802713919313, null, 0.9363713903322148, 0.7482655725962591, null, 0.6243437191127235, 0.583993110207876, null, 0.6243437191127235, 0.640952694324525, null, 0.6243437191127235, 0.7482655725962591, null, 0.6243437191127235, 0.5572917679006295, null, 0.5572917679006295, 0.583993110207876, null, 0.5572917679006295, 0.640952694324525, null, 0.5572917679006295, 0.7482655725962591, null, 0.7482655725962591, 0.640952694324525, null, 0.6435799740880603, 0.6315322816286787, null, 0.6435799740880603, 0.740625863119245, null, 0.6435799740880603, 0.583993110207876, null, 0.6435799740880603, 0.640952694324525, null, 0.34509802713919313, 0.17972981733780147, null, 0.34509802713919313, 0.3345284735051981, null, 0.34509802713919313, 0.17440205342790494, null, 0.021423673670808885, 0.1332965908314021, null, 0.640952694324525, 0.583993110207876, null, 0.17440205342790494, 0.17972981733780147, null, 0.740625863119245, 0.6315322816286787, null], \"y\": [0.49474860768712914, 0.68128520136847, null, 0.49474860768712914, 0.42704536740474663, null, 0.49474860768712914, 0.3232711412508066, null, 0.49474860768712914, 0.5488515965193208, null, 0.49474860768712914, 0.362322730884702, null, 0.14953665513987202, 0.09186645974288632, null, 0.14953665513987202, 0.3232711412508066, null, 0.14953665513987202, 0.12631654071213483, null, 0.14953665513987202, 0.2083567880838434, null, 0.14953665513987202, 0.21665962402659544, null, 0.14953665513987202, 0.026771817842421997, null, 0.14953665513987202, 0.13985272363426526, null, 0.14953665513987202, 0.362322730884702, null, 0.14953665513987202, 0.1735506267461867, null, 0.14953665513987202, 0.01876171413125327, null, 0.7696330846542071, 0.7311657634689946, null, 0.7696330846542071, 0.68128520136847, null, 0.7696330846542071, 0.9532681441921305, null, 0.7696330846542071, 0.891868301175821, null, 0.7696330846542071, 0.9011339078096633, null, 0.7696330846542071, 0.8016111783687677, null, 0.7696330846542071, 0.8089961609345658, null, 0.14485659826020547, 0.09186645974288632, null, 0.14485659826020547, 0.026771817842421997, null, 0.14485659826020547, 0.1735506267461867, null, 0.14485659826020547, 0.10321622277398101, null, 0.14485659826020547, 0.01876171413125327, null, 0.8089961609345658, 0.7311657634689946, null, 0.8089961609345658, 0.68128520136847, null, 0.8089961609345658, 0.9532681441921305, null, 0.8089961609345658, 0.891868301175821, null, 0.8089961609345658, 0.9011339078096633, null, 0.8089961609345658, 0.8016111783687677, null, 0.7222846879290787, 0.9528527425842739, null, 0.7222846879290787, 0.690016328140396, null, 0.7222846879290787, 0.5886703168399895, null, 0.01876171413125327, 0.09186645974288632, null, 0.01876171413125327, 0.026771817842421997, null, 0.01876171413125327, 0.1735506267461867, null, 0.01876171413125327, 0.10321622277398101, null, 0.8016111783687677, 0.7311657634689946, null, 0.8016111783687677, 0.68128520136847, null, 0.8016111783687677, 0.7353428557575755, null, 0.8016111783687677, 0.9532681441921305, null, 0.8016111783687677, 0.891868301175821, null, 0.8016111783687677, 0.9011339078096633, null, 0.43196344222361227, 0.3996510641743197, null, 0.43196344222361227, 0.4666482714834408, null, 0.43196344222361227, 0.5886703168399895, null, 0.9011339078096633, 0.68128520136847, null, 0.9011339078096633, 0.9532681441921305, null, 0.9011339078096633, 0.891868301175821, null, 0.24026772497187532, 0.3232711412508066, null, 0.24026772497187532, 0.12631654071213483, null, 0.24026772497187532, 0.2083567880838434, null, 0.24026772497187532, 0.21665962402659544, null, 0.24026772497187532, 0.13022993020357043, null, 0.24026772497187532, 0.13985272363426526, null, 0.24026772497187532, 0.362322730884702, null, 0.24026772497187532, 0.1839028760606296, null, 0.10321622277398101, 0.09186645974288632, null, 0.10321622277398101, 0.026771817842421997, null, 0.10321622277398101, 0.1735506267461867, null, 0.5006237737207431, 0.6569436279895382, null, 0.5006237737207431, 0.42704536740474663, null, 0.5006237737207431, 0.3232711412508066, null, 0.5006237737207431, 0.5488515965193208, null, 0.5006237737207431, 0.7353428557575755, null, 0.5006237737207431, 0.362322730884702, null, 0.1839028760606296, 0.12631654071213483, null, 0.1839028760606296, 0.13022993020357043, null, 0.1839028760606296, 0.13985272363426526, null, 0.5886703168399895, 0.3996510641743197, null, 0.5886703168399895, 0.4666482714834408, null, 0.5886703168399895, 0.690016328140396, null, 0.1735506267461867, 0.09186645974288632, null, 0.1735506267461867, 0.3232711412508066, null, 0.1735506267461867, 0.2083567880838434, null, 0.1735506267461867, 0.21665962402659544, null, 0.1735506267461867, 0.026771817842421997, null, 0.1735506267461867, 0.362322730884702, null, 0.690016328140396, 0.6569436279895382, null, 0.690016328140396, 0.4666482714834408, null, 0.362322730884702, 0.42704536740474663, null, 0.362322730884702, 0.3232711412508066, null, 0.362322730884702, 0.5488515965193208, null, 0.362322730884702, 0.2083567880838434, null, 0.362322730884702, 0.21665962402659544, null, 0.362322730884702, 0.13985272363426526, null, 0.13985272363426526, 0.3232711412508066, null, 0.13985272363426526, 0.12631654071213483, null, 0.13985272363426526, 0.2083567880838434, null, 0.13985272363426526, 0.21665962402659544, null, 0.13985272363426526, 0.13022993020357043, null, 0.891868301175821, 0.9532681441921305, null, 0.026771817842421997, 0.09186645974288632, null, 0.026771817842421997, 0.2083567880838434, null, 0.7353428557575755, 0.7311657634689946, null, 0.7353428557575755, 0.6569436279895382, null, 0.7353428557575755, 0.8800306496459869, null, 0.9768234503830939, 0.999395685828547, null, 0.9768234503830939, 0.9528527425842739, null, 0.9768234503830939, 0.8800306496459869, null, 0.13022993020357043, 0.12631654071213483, null, 0.21665962402659544, 0.42704536740474663, null, 0.21665962402659544, 0.3232711412508066, null, 0.21665962402659544, 0.12631654071213483, null, 0.21665962402659544, 0.2083567880838434, null, 0.2083567880838434, 0.42704536740474663, null, 0.2083567880838434, 0.3232711412508066, null, 0.2083567880838434, 0.12631654071213483, null, 0.12631654071213483, 0.3232711412508066, null, 0.5488515965193208, 0.7311657634689946, null, 0.5488515965193208, 0.68128520136847, null, 0.5488515965193208, 0.42704536740474663, null, 0.5488515965193208, 0.3232711412508066, null, 0.8800306496459869, 0.999395685828547, null, 0.8800306496459869, 0.6569436279895382, null, 0.8800306496459869, 0.9528527425842739, null, 0.4666482714834408, 0.3996510641743197, null, 0.3232711412508066, 0.42704536740474663, null, 0.9528527425842739, 0.999395685828547, null, 0.68128520136847, 0.7311657634689946, null], \"line\": {\"width\": 0.5, \"color\": \"#888\"}, \"hoverinfo\": \"none\", \"mode\": \"lines\"}, {\"type\": \"scatter\", \"x\": [0.7801603911549438, 0.5249831588690298, 0.8085335344099086, 0.2599134798656856, 0.7353838928272886, 0.09088671576431506, 0.313999018186756, 0.6824813442515916, 0.20128789391122526, 0.8551947714242674, 0.7581736589784409, 0.25311953895059136, 0.4813859169876731, 0.9112422509614865, 0.04580558670435442, 0.4582523173083307, 0.12939557977525573, 0.607698913404794, 0.719569201584275, 0.8860336256842246, 0.4238357358399233, 0.8252497121120052, 0.47415009287034726, 0.26253385360950576, 0.9363713903322148, 0.6243437191127235, 0.5572917679006295, 0.7482655725962591, 0.6435799740880603, 0.34509802713919313, 0.021423673670808885, 0.640952694324525, 0.17440205342790494, 0.1332965908314021, 0.583993110207876, 0.3073865727705063, 0.740625863119245, 0.3345284735051981, 0.17972981733780147, 0.6315322816286787], \"y\": [0.49474860768712914, 0.14953665513987202, 0.7696330846542071, 0.14485659826020547, 0.8089961609345658, 0.7222846879290787, 0.01876171413125327, 0.8016111783687677, 0.43196344222361227, 0.9011339078096633, 0.24026772497187532, 0.10321622277398101, 0.5006237737207431, 0.1839028760606296, 0.5886703168399895, 0.1735506267461867, 0.690016328140396, 0.362322730884702, 0.13985272363426526, 0.891868301175821, 0.026771817842421997, 0.9532681441921305, 0.7353428557575755, 0.9768234503830939, 0.13022993020357043, 0.21665962402659544, 0.2083567880838434, 0.12631654071213483, 0.5488515965193208, 0.8800306496459869, 0.4666482714834408, 0.3232711412508066, 0.9528527425842739, 0.3996510641743197, 0.42704536740474663, 0.09186645974288632, 0.68128520136847, 0.6569436279895382, 0.999395685828547, 0.7311657634689946], \"text\": [\"Intersection 0\", \"Intersection 1\", \"Intersection 2\", \"Intersection 3\", \"Intersection 4\", \"Intersection 5\", \"Intersection 6\", \"Intersection 7\", \"Intersection 8\", \"Intersection 9\", \"Intersection 10\", \"Intersection 11\", \"Intersection 12\", \"Intersection 13\", \"Intersection 14\", \"Intersection 15\", \"Intersection 16\", \"Intersection 17\", \"Intersection 18\", \"Intersection 19\", \"Intersection 20\", \"Intersection 21\", \"Intersection 22\", \"Intersection 23\", \"Intersection 24\", \"Intersection 25\", \"Intersection 26\", \"Intersection 27\", \"Intersection 28\", \"Intersection 29\", \"Intersection 30\", \"Intersection 31\", \"Intersection 32\", \"Intersection 33\", \"Intersection 34\", \"Intersection 35\", \"Intersection 36\", \"Intersection 37\", \"Intersection 38\", \"Intersection 39\"], \"mode\": \"markers\", \"hoverinfo\": \"text\", \"marker\": {\"showscale\": false, \"colorscale\": \"Hot\", \"reversescale\": true, \"color\": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"size\": 10, \"colorbar\": {\"thickness\": 15, \"title\": \"Node Connections\", \"xanchor\": \"left\", \"titleside\": \"right\"}, \"line\": {\"width\": 2}}}], {\"title\": \"<br>Network graph made with Python\", \"titlefont\": {\"size\": 16}, \"showlegend\": false, \"hovermode\": \"closest\", \"margin\": {\"b\": 20, \"l\": 5, \"r\": 5, \"t\": 40}, \"xaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}, \"yaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"fdae665b-04a6-44cc-8544-5c5a8fd9f16b\" style=\"height: 525px; width: 100%;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"fdae665b-04a6-44cc-8544-5c5a8fd9f16b\", [{\"type\": \"scatter\", \"x\": [0.7801603911549438, 0.740625863119245, null, 0.7801603911549438, 0.583993110207876, null, 0.7801603911549438, 0.640952694324525, null, 0.7801603911549438, 0.6435799740880603, null, 0.7801603911549438, 0.607698913404794, null, 0.5249831588690298, 0.3073865727705063, null, 0.5249831588690298, 0.640952694324525, null, 0.5249831588690298, 0.7482655725962591, null, 0.5249831588690298, 0.5572917679006295, null, 0.5249831588690298, 0.6243437191127235, null, 0.5249831588690298, 0.4238357358399233, null, 0.5249831588690298, 0.719569201584275, null, 0.5249831588690298, 0.607698913404794, null, 0.5249831588690298, 0.4582523173083307, null, 0.5249831588690298, 0.313999018186756, null, 0.8085335344099086, 0.6315322816286787, null, 0.8085335344099086, 0.740625863119245, null, 0.8085335344099086, 0.8252497121120052, null, 0.8085335344099086, 0.8860336256842246, null, 0.8085335344099086, 0.8551947714242674, null, 0.8085335344099086, 0.6824813442515916, null, 0.8085335344099086, 0.7353838928272886, null, 0.2599134798656856, 0.3073865727705063, null, 0.2599134798656856, 0.4238357358399233, null, 0.2599134798656856, 0.4582523173083307, null, 0.2599134798656856, 0.25311953895059136, null, 0.2599134798656856, 0.313999018186756, null, 0.7353838928272886, 0.6315322816286787, null, 0.7353838928272886, 0.740625863119245, null, 0.7353838928272886, 0.8252497121120052, null, 0.7353838928272886, 0.8860336256842246, null, 0.7353838928272886, 0.8551947714242674, null, 0.7353838928272886, 0.6824813442515916, null, 0.09088671576431506, 0.17440205342790494, null, 0.09088671576431506, 0.12939557977525573, null, 0.09088671576431506, 0.04580558670435442, null, 0.313999018186756, 0.3073865727705063, null, 0.313999018186756, 0.4238357358399233, null, 0.313999018186756, 0.4582523173083307, null, 0.313999018186756, 0.25311953895059136, null, 0.6824813442515916, 0.6315322816286787, null, 0.6824813442515916, 0.740625863119245, null, 0.6824813442515916, 0.47415009287034726, null, 0.6824813442515916, 0.8252497121120052, null, 0.6824813442515916, 0.8860336256842246, null, 0.6824813442515916, 0.8551947714242674, null, 0.20128789391122526, 0.1332965908314021, null, 0.20128789391122526, 0.021423673670808885, null, 0.20128789391122526, 0.04580558670435442, null, 0.8551947714242674, 0.740625863119245, null, 0.8551947714242674, 0.8252497121120052, null, 0.8551947714242674, 0.8860336256842246, null, 0.7581736589784409, 0.640952694324525, null, 0.7581736589784409, 0.7482655725962591, null, 0.7581736589784409, 0.5572917679006295, null, 0.7581736589784409, 0.6243437191127235, null, 0.7581736589784409, 0.9363713903322148, null, 0.7581736589784409, 0.719569201584275, null, 0.7581736589784409, 0.607698913404794, null, 0.7581736589784409, 0.9112422509614865, null, 0.25311953895059136, 0.3073865727705063, null, 0.25311953895059136, 0.4238357358399233, null, 0.25311953895059136, 0.4582523173083307, null, 0.4813859169876731, 0.3345284735051981, null, 0.4813859169876731, 0.583993110207876, null, 0.4813859169876731, 0.640952694324525, null, 0.4813859169876731, 0.6435799740880603, null, 0.4813859169876731, 0.47415009287034726, null, 0.4813859169876731, 0.607698913404794, null, 0.9112422509614865, 0.7482655725962591, null, 0.9112422509614865, 0.9363713903322148, null, 0.9112422509614865, 0.719569201584275, null, 0.04580558670435442, 0.1332965908314021, null, 0.04580558670435442, 0.021423673670808885, null, 0.04580558670435442, 0.12939557977525573, null, 0.4582523173083307, 0.3073865727705063, null, 0.4582523173083307, 0.640952694324525, null, 0.4582523173083307, 0.5572917679006295, null, 0.4582523173083307, 0.6243437191127235, null, 0.4582523173083307, 0.4238357358399233, null, 0.4582523173083307, 0.607698913404794, null, 0.12939557977525573, 0.3345284735051981, null, 0.12939557977525573, 0.021423673670808885, null, 0.607698913404794, 0.583993110207876, null, 0.607698913404794, 0.640952694324525, null, 0.607698913404794, 0.6435799740880603, null, 0.607698913404794, 0.5572917679006295, null, 0.607698913404794, 0.6243437191127235, null, 0.607698913404794, 0.719569201584275, null, 0.719569201584275, 0.640952694324525, null, 0.719569201584275, 0.7482655725962591, null, 0.719569201584275, 0.5572917679006295, null, 0.719569201584275, 0.6243437191127235, null, 0.719569201584275, 0.9363713903322148, null, 0.8860336256842246, 0.8252497121120052, null, 0.4238357358399233, 0.3073865727705063, null, 0.4238357358399233, 0.5572917679006295, null, 0.47415009287034726, 0.6315322816286787, null, 0.47415009287034726, 0.3345284735051981, null, 0.47415009287034726, 0.34509802713919313, null, 0.26253385360950576, 0.17972981733780147, null, 0.26253385360950576, 0.17440205342790494, null, 0.26253385360950576, 0.34509802713919313, null, 0.9363713903322148, 0.7482655725962591, null, 0.6243437191127235, 0.583993110207876, null, 0.6243437191127235, 0.640952694324525, null, 0.6243437191127235, 0.7482655725962591, null, 0.6243437191127235, 0.5572917679006295, null, 0.5572917679006295, 0.583993110207876, null, 0.5572917679006295, 0.640952694324525, null, 0.5572917679006295, 0.7482655725962591, null, 0.7482655725962591, 0.640952694324525, null, 0.6435799740880603, 0.6315322816286787, null, 0.6435799740880603, 0.740625863119245, null, 0.6435799740880603, 0.583993110207876, null, 0.6435799740880603, 0.640952694324525, null, 0.34509802713919313, 0.17972981733780147, null, 0.34509802713919313, 0.3345284735051981, null, 0.34509802713919313, 0.17440205342790494, null, 0.021423673670808885, 0.1332965908314021, null, 0.640952694324525, 0.583993110207876, null, 0.17440205342790494, 0.17972981733780147, null, 0.740625863119245, 0.6315322816286787, null], \"y\": [0.49474860768712914, 0.68128520136847, null, 0.49474860768712914, 0.42704536740474663, null, 0.49474860768712914, 0.3232711412508066, null, 0.49474860768712914, 0.5488515965193208, null, 0.49474860768712914, 0.362322730884702, null, 0.14953665513987202, 0.09186645974288632, null, 0.14953665513987202, 0.3232711412508066, null, 0.14953665513987202, 0.12631654071213483, null, 0.14953665513987202, 0.2083567880838434, null, 0.14953665513987202, 0.21665962402659544, null, 0.14953665513987202, 0.026771817842421997, null, 0.14953665513987202, 0.13985272363426526, null, 0.14953665513987202, 0.362322730884702, null, 0.14953665513987202, 0.1735506267461867, null, 0.14953665513987202, 0.01876171413125327, null, 0.7696330846542071, 0.7311657634689946, null, 0.7696330846542071, 0.68128520136847, null, 0.7696330846542071, 0.9532681441921305, null, 0.7696330846542071, 0.891868301175821, null, 0.7696330846542071, 0.9011339078096633, null, 0.7696330846542071, 0.8016111783687677, null, 0.7696330846542071, 0.8089961609345658, null, 0.14485659826020547, 0.09186645974288632, null, 0.14485659826020547, 0.026771817842421997, null, 0.14485659826020547, 0.1735506267461867, null, 0.14485659826020547, 0.10321622277398101, null, 0.14485659826020547, 0.01876171413125327, null, 0.8089961609345658, 0.7311657634689946, null, 0.8089961609345658, 0.68128520136847, null, 0.8089961609345658, 0.9532681441921305, null, 0.8089961609345658, 0.891868301175821, null, 0.8089961609345658, 0.9011339078096633, null, 0.8089961609345658, 0.8016111783687677, null, 0.7222846879290787, 0.9528527425842739, null, 0.7222846879290787, 0.690016328140396, null, 0.7222846879290787, 0.5886703168399895, null, 0.01876171413125327, 0.09186645974288632, null, 0.01876171413125327, 0.026771817842421997, null, 0.01876171413125327, 0.1735506267461867, null, 0.01876171413125327, 0.10321622277398101, null, 0.8016111783687677, 0.7311657634689946, null, 0.8016111783687677, 0.68128520136847, null, 0.8016111783687677, 0.7353428557575755, null, 0.8016111783687677, 0.9532681441921305, null, 0.8016111783687677, 0.891868301175821, null, 0.8016111783687677, 0.9011339078096633, null, 0.43196344222361227, 0.3996510641743197, null, 0.43196344222361227, 0.4666482714834408, null, 0.43196344222361227, 0.5886703168399895, null, 0.9011339078096633, 0.68128520136847, null, 0.9011339078096633, 0.9532681441921305, null, 0.9011339078096633, 0.891868301175821, null, 0.24026772497187532, 0.3232711412508066, null, 0.24026772497187532, 0.12631654071213483, null, 0.24026772497187532, 0.2083567880838434, null, 0.24026772497187532, 0.21665962402659544, null, 0.24026772497187532, 0.13022993020357043, null, 0.24026772497187532, 0.13985272363426526, null, 0.24026772497187532, 0.362322730884702, null, 0.24026772497187532, 0.1839028760606296, null, 0.10321622277398101, 0.09186645974288632, null, 0.10321622277398101, 0.026771817842421997, null, 0.10321622277398101, 0.1735506267461867, null, 0.5006237737207431, 0.6569436279895382, null, 0.5006237737207431, 0.42704536740474663, null, 0.5006237737207431, 0.3232711412508066, null, 0.5006237737207431, 0.5488515965193208, null, 0.5006237737207431, 0.7353428557575755, null, 0.5006237737207431, 0.362322730884702, null, 0.1839028760606296, 0.12631654071213483, null, 0.1839028760606296, 0.13022993020357043, null, 0.1839028760606296, 0.13985272363426526, null, 0.5886703168399895, 0.3996510641743197, null, 0.5886703168399895, 0.4666482714834408, null, 0.5886703168399895, 0.690016328140396, null, 0.1735506267461867, 0.09186645974288632, null, 0.1735506267461867, 0.3232711412508066, null, 0.1735506267461867, 0.2083567880838434, null, 0.1735506267461867, 0.21665962402659544, null, 0.1735506267461867, 0.026771817842421997, null, 0.1735506267461867, 0.362322730884702, null, 0.690016328140396, 0.6569436279895382, null, 0.690016328140396, 0.4666482714834408, null, 0.362322730884702, 0.42704536740474663, null, 0.362322730884702, 0.3232711412508066, null, 0.362322730884702, 0.5488515965193208, null, 0.362322730884702, 0.2083567880838434, null, 0.362322730884702, 0.21665962402659544, null, 0.362322730884702, 0.13985272363426526, null, 0.13985272363426526, 0.3232711412508066, null, 0.13985272363426526, 0.12631654071213483, null, 0.13985272363426526, 0.2083567880838434, null, 0.13985272363426526, 0.21665962402659544, null, 0.13985272363426526, 0.13022993020357043, null, 0.891868301175821, 0.9532681441921305, null, 0.026771817842421997, 0.09186645974288632, null, 0.026771817842421997, 0.2083567880838434, null, 0.7353428557575755, 0.7311657634689946, null, 0.7353428557575755, 0.6569436279895382, null, 0.7353428557575755, 0.8800306496459869, null, 0.9768234503830939, 0.999395685828547, null, 0.9768234503830939, 0.9528527425842739, null, 0.9768234503830939, 0.8800306496459869, null, 0.13022993020357043, 0.12631654071213483, null, 0.21665962402659544, 0.42704536740474663, null, 0.21665962402659544, 0.3232711412508066, null, 0.21665962402659544, 0.12631654071213483, null, 0.21665962402659544, 0.2083567880838434, null, 0.2083567880838434, 0.42704536740474663, null, 0.2083567880838434, 0.3232711412508066, null, 0.2083567880838434, 0.12631654071213483, null, 0.12631654071213483, 0.3232711412508066, null, 0.5488515965193208, 0.7311657634689946, null, 0.5488515965193208, 0.68128520136847, null, 0.5488515965193208, 0.42704536740474663, null, 0.5488515965193208, 0.3232711412508066, null, 0.8800306496459869, 0.999395685828547, null, 0.8800306496459869, 0.6569436279895382, null, 0.8800306496459869, 0.9528527425842739, null, 0.4666482714834408, 0.3996510641743197, null, 0.3232711412508066, 0.42704536740474663, null, 0.9528527425842739, 0.999395685828547, null, 0.68128520136847, 0.7311657634689946, null], \"line\": {\"width\": 0.5, \"color\": \"#888\"}, \"hoverinfo\": \"none\", \"mode\": \"lines\"}, {\"type\": \"scatter\", \"x\": [0.7801603911549438, 0.5249831588690298, 0.8085335344099086, 0.2599134798656856, 0.7353838928272886, 0.09088671576431506, 0.313999018186756, 0.6824813442515916, 0.20128789391122526, 0.8551947714242674, 0.7581736589784409, 0.25311953895059136, 0.4813859169876731, 0.9112422509614865, 0.04580558670435442, 0.4582523173083307, 0.12939557977525573, 0.607698913404794, 0.719569201584275, 0.8860336256842246, 0.4238357358399233, 0.8252497121120052, 0.47415009287034726, 0.26253385360950576, 0.9363713903322148, 0.6243437191127235, 0.5572917679006295, 0.7482655725962591, 0.6435799740880603, 0.34509802713919313, 0.021423673670808885, 0.640952694324525, 0.17440205342790494, 0.1332965908314021, 0.583993110207876, 0.3073865727705063, 0.740625863119245, 0.3345284735051981, 0.17972981733780147, 0.6315322816286787], \"y\": [0.49474860768712914, 0.14953665513987202, 0.7696330846542071, 0.14485659826020547, 0.8089961609345658, 0.7222846879290787, 0.01876171413125327, 0.8016111783687677, 0.43196344222361227, 0.9011339078096633, 0.24026772497187532, 0.10321622277398101, 0.5006237737207431, 0.1839028760606296, 0.5886703168399895, 0.1735506267461867, 0.690016328140396, 0.362322730884702, 0.13985272363426526, 0.891868301175821, 0.026771817842421997, 0.9532681441921305, 0.7353428557575755, 0.9768234503830939, 0.13022993020357043, 0.21665962402659544, 0.2083567880838434, 0.12631654071213483, 0.5488515965193208, 0.8800306496459869, 0.4666482714834408, 0.3232711412508066, 0.9528527425842739, 0.3996510641743197, 0.42704536740474663, 0.09186645974288632, 0.68128520136847, 0.6569436279895382, 0.999395685828547, 0.7311657634689946], \"text\": [\"Intersection 0\", \"Intersection 1\", \"Intersection 2\", \"Intersection 3\", \"Intersection 4\", \"Intersection 5\", \"Intersection 6\", \"Intersection 7\", \"Intersection 8\", \"Intersection 9\", \"Intersection 10\", \"Intersection 11\", \"Intersection 12\", \"Intersection 13\", \"Intersection 14\", \"Intersection 15\", \"Intersection 16\", \"Intersection 17\", \"Intersection 18\", \"Intersection 19\", \"Intersection 20\", \"Intersection 21\", \"Intersection 22\", \"Intersection 23\", \"Intersection 24\", \"Intersection 25\", \"Intersection 26\", \"Intersection 27\", \"Intersection 28\", \"Intersection 29\", \"Intersection 30\", \"Intersection 31\", \"Intersection 32\", \"Intersection 33\", \"Intersection 34\", \"Intersection 35\", \"Intersection 36\", \"Intersection 37\", \"Intersection 38\", \"Intersection 39\"], \"mode\": \"markers\", \"hoverinfo\": \"text\", \"marker\": {\"showscale\": false, \"colorscale\": \"Hot\", \"reversescale\": true, \"color\": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \"size\": 10, \"colorbar\": {\"thickness\": 15, \"title\": \"Node Connections\", \"xanchor\": \"left\", \"titleside\": \"right\"}, \"line\": {\"width\": 2}}}], {\"title\": \"<br>Network graph made with Python\", \"titlefont\": {\"size\": 16}, \"showlegend\": false, \"hovermode\": \"closest\", \"margin\": {\"b\": 20, \"l\": 5, \"r\": 5, \"t\": 40}, \"xaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}, \"yaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# map_40 is a bigger map than map_10\n",
    "map_40 = load_map_40()\n",
    "show_map(map_40)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Advanced Visualizations\n",
    "\n",
    "The map above shows a network of roads which spans 40 different intersections (labeled 0 through 39). \n",
    "\n",
    "The `show_map` function which generated this map also takes a few optional parameters which might be useful for visualizaing the output of the search algorithm you will write.\n",
    "\n",
    "* `start` - The \"start\" node for the search algorithm.\n",
    "* `goal`  - The \"goal\" node.\n",
    "* `path`  - An array of integers which corresponds to a valid sequence of intersection visits on the map."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "none",
         "line": {
          "color": "#888",
          "width": 0.5
         },
         "mode": "lines",
         "type": "scatter",
         "x": [
          0.7801603911549438,
          0.740625863119245,
          null,
          0.7801603911549438,
          0.583993110207876,
          null,
          0.7801603911549438,
          0.640952694324525,
          null,
          0.7801603911549438,
          0.6435799740880603,
          null,
          0.7801603911549438,
          0.607698913404794,
          null,
          0.5249831588690298,
          0.3073865727705063,
          null,
          0.5249831588690298,
          0.640952694324525,
          null,
          0.5249831588690298,
          0.7482655725962591,
          null,
          0.5249831588690298,
          0.5572917679006295,
          null,
          0.5249831588690298,
          0.6243437191127235,
          null,
          0.5249831588690298,
          0.4238357358399233,
          null,
          0.5249831588690298,
          0.719569201584275,
          null,
          0.5249831588690298,
          0.607698913404794,
          null,
          0.5249831588690298,
          0.4582523173083307,
          null,
          0.5249831588690298,
          0.313999018186756,
          null,
          0.8085335344099086,
          0.6315322816286787,
          null,
          0.8085335344099086,
          0.740625863119245,
          null,
          0.8085335344099086,
          0.8252497121120052,
          null,
          0.8085335344099086,
          0.8860336256842246,
          null,
          0.8085335344099086,
          0.8551947714242674,
          null,
          0.8085335344099086,
          0.6824813442515916,
          null,
          0.8085335344099086,
          0.7353838928272886,
          null,
          0.2599134798656856,
          0.3073865727705063,
          null,
          0.2599134798656856,
          0.4238357358399233,
          null,
          0.2599134798656856,
          0.4582523173083307,
          null,
          0.2599134798656856,
          0.25311953895059136,
          null,
          0.2599134798656856,
          0.313999018186756,
          null,
          0.7353838928272886,
          0.6315322816286787,
          null,
          0.7353838928272886,
          0.740625863119245,
          null,
          0.7353838928272886,
          0.8252497121120052,
          null,
          0.7353838928272886,
          0.8860336256842246,
          null,
          0.7353838928272886,
          0.8551947714242674,
          null,
          0.7353838928272886,
          0.6824813442515916,
          null,
          0.09088671576431506,
          0.17440205342790494,
          null,
          0.09088671576431506,
          0.12939557977525573,
          null,
          0.09088671576431506,
          0.04580558670435442,
          null,
          0.313999018186756,
          0.3073865727705063,
          null,
          0.313999018186756,
          0.4238357358399233,
          null,
          0.313999018186756,
          0.4582523173083307,
          null,
          0.313999018186756,
          0.25311953895059136,
          null,
          0.6824813442515916,
          0.6315322816286787,
          null,
          0.6824813442515916,
          0.740625863119245,
          null,
          0.6824813442515916,
          0.47415009287034726,
          null,
          0.6824813442515916,
          0.8252497121120052,
          null,
          0.6824813442515916,
          0.8860336256842246,
          null,
          0.6824813442515916,
          0.8551947714242674,
          null,
          0.20128789391122526,
          0.1332965908314021,
          null,
          0.20128789391122526,
          0.021423673670808885,
          null,
          0.20128789391122526,
          0.04580558670435442,
          null,
          0.8551947714242674,
          0.740625863119245,
          null,
          0.8551947714242674,
          0.8252497121120052,
          null,
          0.8551947714242674,
          0.8860336256842246,
          null,
          0.7581736589784409,
          0.640952694324525,
          null,
          0.7581736589784409,
          0.7482655725962591,
          null,
          0.7581736589784409,
          0.5572917679006295,
          null,
          0.7581736589784409,
          0.6243437191127235,
          null,
          0.7581736589784409,
          0.9363713903322148,
          null,
          0.7581736589784409,
          0.719569201584275,
          null,
          0.7581736589784409,
          0.607698913404794,
          null,
          0.7581736589784409,
          0.9112422509614865,
          null,
          0.25311953895059136,
          0.3073865727705063,
          null,
          0.25311953895059136,
          0.4238357358399233,
          null,
          0.25311953895059136,
          0.4582523173083307,
          null,
          0.4813859169876731,
          0.3345284735051981,
          null,
          0.4813859169876731,
          0.583993110207876,
          null,
          0.4813859169876731,
          0.640952694324525,
          null,
          0.4813859169876731,
          0.6435799740880603,
          null,
          0.4813859169876731,
          0.47415009287034726,
          null,
          0.4813859169876731,
          0.607698913404794,
          null,
          0.9112422509614865,
          0.7482655725962591,
          null,
          0.9112422509614865,
          0.9363713903322148,
          null,
          0.9112422509614865,
          0.719569201584275,
          null,
          0.04580558670435442,
          0.1332965908314021,
          null,
          0.04580558670435442,
          0.021423673670808885,
          null,
          0.04580558670435442,
          0.12939557977525573,
          null,
          0.4582523173083307,
          0.3073865727705063,
          null,
          0.4582523173083307,
          0.640952694324525,
          null,
          0.4582523173083307,
          0.5572917679006295,
          null,
          0.4582523173083307,
          0.6243437191127235,
          null,
          0.4582523173083307,
          0.4238357358399233,
          null,
          0.4582523173083307,
          0.607698913404794,
          null,
          0.12939557977525573,
          0.3345284735051981,
          null,
          0.12939557977525573,
          0.021423673670808885,
          null,
          0.607698913404794,
          0.583993110207876,
          null,
          0.607698913404794,
          0.640952694324525,
          null,
          0.607698913404794,
          0.6435799740880603,
          null,
          0.607698913404794,
          0.5572917679006295,
          null,
          0.607698913404794,
          0.6243437191127235,
          null,
          0.607698913404794,
          0.719569201584275,
          null,
          0.719569201584275,
          0.640952694324525,
          null,
          0.719569201584275,
          0.7482655725962591,
          null,
          0.719569201584275,
          0.5572917679006295,
          null,
          0.719569201584275,
          0.6243437191127235,
          null,
          0.719569201584275,
          0.9363713903322148,
          null,
          0.8860336256842246,
          0.8252497121120052,
          null,
          0.4238357358399233,
          0.3073865727705063,
          null,
          0.4238357358399233,
          0.5572917679006295,
          null,
          0.47415009287034726,
          0.6315322816286787,
          null,
          0.47415009287034726,
          0.3345284735051981,
          null,
          0.47415009287034726,
          0.34509802713919313,
          null,
          0.26253385360950576,
          0.17972981733780147,
          null,
          0.26253385360950576,
          0.17440205342790494,
          null,
          0.26253385360950576,
          0.34509802713919313,
          null,
          0.9363713903322148,
          0.7482655725962591,
          null,
          0.6243437191127235,
          0.583993110207876,
          null,
          0.6243437191127235,
          0.640952694324525,
          null,
          0.6243437191127235,
          0.7482655725962591,
          null,
          0.6243437191127235,
          0.5572917679006295,
          null,
          0.5572917679006295,
          0.583993110207876,
          null,
          0.5572917679006295,
          0.640952694324525,
          null,
          0.5572917679006295,
          0.7482655725962591,
          null,
          0.7482655725962591,
          0.640952694324525,
          null,
          0.6435799740880603,
          0.6315322816286787,
          null,
          0.6435799740880603,
          0.740625863119245,
          null,
          0.6435799740880603,
          0.583993110207876,
          null,
          0.6435799740880603,
          0.640952694324525,
          null,
          0.34509802713919313,
          0.17972981733780147,
          null,
          0.34509802713919313,
          0.3345284735051981,
          null,
          0.34509802713919313,
          0.17440205342790494,
          null,
          0.021423673670808885,
          0.1332965908314021,
          null,
          0.640952694324525,
          0.583993110207876,
          null,
          0.17440205342790494,
          0.17972981733780147,
          null,
          0.740625863119245,
          0.6315322816286787,
          null
         ],
         "y": [
          0.49474860768712914,
          0.68128520136847,
          null,
          0.49474860768712914,
          0.42704536740474663,
          null,
          0.49474860768712914,
          0.3232711412508066,
          null,
          0.49474860768712914,
          0.5488515965193208,
          null,
          0.49474860768712914,
          0.362322730884702,
          null,
          0.14953665513987202,
          0.09186645974288632,
          null,
          0.14953665513987202,
          0.3232711412508066,
          null,
          0.14953665513987202,
          0.12631654071213483,
          null,
          0.14953665513987202,
          0.2083567880838434,
          null,
          0.14953665513987202,
          0.21665962402659544,
          null,
          0.14953665513987202,
          0.026771817842421997,
          null,
          0.14953665513987202,
          0.13985272363426526,
          null,
          0.14953665513987202,
          0.362322730884702,
          null,
          0.14953665513987202,
          0.1735506267461867,
          null,
          0.14953665513987202,
          0.01876171413125327,
          null,
          0.7696330846542071,
          0.7311657634689946,
          null,
          0.7696330846542071,
          0.68128520136847,
          null,
          0.7696330846542071,
          0.9532681441921305,
          null,
          0.7696330846542071,
          0.891868301175821,
          null,
          0.7696330846542071,
          0.9011339078096633,
          null,
          0.7696330846542071,
          0.8016111783687677,
          null,
          0.7696330846542071,
          0.8089961609345658,
          null,
          0.14485659826020547,
          0.09186645974288632,
          null,
          0.14485659826020547,
          0.026771817842421997,
          null,
          0.14485659826020547,
          0.1735506267461867,
          null,
          0.14485659826020547,
          0.10321622277398101,
          null,
          0.14485659826020547,
          0.01876171413125327,
          null,
          0.8089961609345658,
          0.7311657634689946,
          null,
          0.8089961609345658,
          0.68128520136847,
          null,
          0.8089961609345658,
          0.9532681441921305,
          null,
          0.8089961609345658,
          0.891868301175821,
          null,
          0.8089961609345658,
          0.9011339078096633,
          null,
          0.8089961609345658,
          0.8016111783687677,
          null,
          0.7222846879290787,
          0.9528527425842739,
          null,
          0.7222846879290787,
          0.690016328140396,
          null,
          0.7222846879290787,
          0.5886703168399895,
          null,
          0.01876171413125327,
          0.09186645974288632,
          null,
          0.01876171413125327,
          0.026771817842421997,
          null,
          0.01876171413125327,
          0.1735506267461867,
          null,
          0.01876171413125327,
          0.10321622277398101,
          null,
          0.8016111783687677,
          0.7311657634689946,
          null,
          0.8016111783687677,
          0.68128520136847,
          null,
          0.8016111783687677,
          0.7353428557575755,
          null,
          0.8016111783687677,
          0.9532681441921305,
          null,
          0.8016111783687677,
          0.891868301175821,
          null,
          0.8016111783687677,
          0.9011339078096633,
          null,
          0.43196344222361227,
          0.3996510641743197,
          null,
          0.43196344222361227,
          0.4666482714834408,
          null,
          0.43196344222361227,
          0.5886703168399895,
          null,
          0.9011339078096633,
          0.68128520136847,
          null,
          0.9011339078096633,
          0.9532681441921305,
          null,
          0.9011339078096633,
          0.891868301175821,
          null,
          0.24026772497187532,
          0.3232711412508066,
          null,
          0.24026772497187532,
          0.12631654071213483,
          null,
          0.24026772497187532,
          0.2083567880838434,
          null,
          0.24026772497187532,
          0.21665962402659544,
          null,
          0.24026772497187532,
          0.13022993020357043,
          null,
          0.24026772497187532,
          0.13985272363426526,
          null,
          0.24026772497187532,
          0.362322730884702,
          null,
          0.24026772497187532,
          0.1839028760606296,
          null,
          0.10321622277398101,
          0.09186645974288632,
          null,
          0.10321622277398101,
          0.026771817842421997,
          null,
          0.10321622277398101,
          0.1735506267461867,
          null,
          0.5006237737207431,
          0.6569436279895382,
          null,
          0.5006237737207431,
          0.42704536740474663,
          null,
          0.5006237737207431,
          0.3232711412508066,
          null,
          0.5006237737207431,
          0.5488515965193208,
          null,
          0.5006237737207431,
          0.7353428557575755,
          null,
          0.5006237737207431,
          0.362322730884702,
          null,
          0.1839028760606296,
          0.12631654071213483,
          null,
          0.1839028760606296,
          0.13022993020357043,
          null,
          0.1839028760606296,
          0.13985272363426526,
          null,
          0.5886703168399895,
          0.3996510641743197,
          null,
          0.5886703168399895,
          0.4666482714834408,
          null,
          0.5886703168399895,
          0.690016328140396,
          null,
          0.1735506267461867,
          0.09186645974288632,
          null,
          0.1735506267461867,
          0.3232711412508066,
          null,
          0.1735506267461867,
          0.2083567880838434,
          null,
          0.1735506267461867,
          0.21665962402659544,
          null,
          0.1735506267461867,
          0.026771817842421997,
          null,
          0.1735506267461867,
          0.362322730884702,
          null,
          0.690016328140396,
          0.6569436279895382,
          null,
          0.690016328140396,
          0.4666482714834408,
          null,
          0.362322730884702,
          0.42704536740474663,
          null,
          0.362322730884702,
          0.3232711412508066,
          null,
          0.362322730884702,
          0.5488515965193208,
          null,
          0.362322730884702,
          0.2083567880838434,
          null,
          0.362322730884702,
          0.21665962402659544,
          null,
          0.362322730884702,
          0.13985272363426526,
          null,
          0.13985272363426526,
          0.3232711412508066,
          null,
          0.13985272363426526,
          0.12631654071213483,
          null,
          0.13985272363426526,
          0.2083567880838434,
          null,
          0.13985272363426526,
          0.21665962402659544,
          null,
          0.13985272363426526,
          0.13022993020357043,
          null,
          0.891868301175821,
          0.9532681441921305,
          null,
          0.026771817842421997,
          0.09186645974288632,
          null,
          0.026771817842421997,
          0.2083567880838434,
          null,
          0.7353428557575755,
          0.7311657634689946,
          null,
          0.7353428557575755,
          0.6569436279895382,
          null,
          0.7353428557575755,
          0.8800306496459869,
          null,
          0.9768234503830939,
          0.999395685828547,
          null,
          0.9768234503830939,
          0.9528527425842739,
          null,
          0.9768234503830939,
          0.8800306496459869,
          null,
          0.13022993020357043,
          0.12631654071213483,
          null,
          0.21665962402659544,
          0.42704536740474663,
          null,
          0.21665962402659544,
          0.3232711412508066,
          null,
          0.21665962402659544,
          0.12631654071213483,
          null,
          0.21665962402659544,
          0.2083567880838434,
          null,
          0.2083567880838434,
          0.42704536740474663,
          null,
          0.2083567880838434,
          0.3232711412508066,
          null,
          0.2083567880838434,
          0.12631654071213483,
          null,
          0.12631654071213483,
          0.3232711412508066,
          null,
          0.5488515965193208,
          0.7311657634689946,
          null,
          0.5488515965193208,
          0.68128520136847,
          null,
          0.5488515965193208,
          0.42704536740474663,
          null,
          0.5488515965193208,
          0.3232711412508066,
          null,
          0.8800306496459869,
          0.999395685828547,
          null,
          0.8800306496459869,
          0.6569436279895382,
          null,
          0.8800306496459869,
          0.9528527425842739,
          null,
          0.4666482714834408,
          0.3996510641743197,
          null,
          0.3232711412508066,
          0.42704536740474663,
          null,
          0.9528527425842739,
          0.999395685828547,
          null,
          0.68128520136847,
          0.7311657634689946,
          null
         ]
        },
        {
         "hoverinfo": "text",
         "marker": {
          "color": [
           0,
           0,
           0,
           0,
           0,
           3,
           0,
           0,
           0,
           0,
           0,
           0,
           2,
           0,
           0,
           0,
           2,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           1,
           0,
           0,
           2,
           0,
           0
          ],
          "colorbar": {
           "thickness": 15,
           "title": "Node Connections",
           "titleside": "right",
           "xanchor": "left"
          },
          "colorscale": "Hot",
          "line": {
           "width": 2
          },
          "reversescale": true,
          "showscale": false,
          "size": 10
         },
         "mode": "markers",
         "text": [
          "Intersection 0",
          "Intersection 1",
          "Intersection 2",
          "Intersection 3",
          "Intersection 4",
          "Intersection 5",
          "Intersection 6",
          "Intersection 7",
          "Intersection 8",
          "Intersection 9",
          "Intersection 10",
          "Intersection 11",
          "Intersection 12",
          "Intersection 13",
          "Intersection 14",
          "Intersection 15",
          "Intersection 16",
          "Intersection 17",
          "Intersection 18",
          "Intersection 19",
          "Intersection 20",
          "Intersection 21",
          "Intersection 22",
          "Intersection 23",
          "Intersection 24",
          "Intersection 25",
          "Intersection 26",
          "Intersection 27",
          "Intersection 28",
          "Intersection 29",
          "Intersection 30",
          "Intersection 31",
          "Intersection 32",
          "Intersection 33",
          "Intersection 34",
          "Intersection 35",
          "Intersection 36",
          "Intersection 37",
          "Intersection 38",
          "Intersection 39"
         ],
         "type": "scatter",
         "x": [
          0.7801603911549438,
          0.5249831588690298,
          0.8085335344099086,
          0.2599134798656856,
          0.7353838928272886,
          0.09088671576431506,
          0.313999018186756,
          0.6824813442515916,
          0.20128789391122526,
          0.8551947714242674,
          0.7581736589784409,
          0.25311953895059136,
          0.4813859169876731,
          0.9112422509614865,
          0.04580558670435442,
          0.4582523173083307,
          0.12939557977525573,
          0.607698913404794,
          0.719569201584275,
          0.8860336256842246,
          0.4238357358399233,
          0.8252497121120052,
          0.47415009287034726,
          0.26253385360950576,
          0.9363713903322148,
          0.6243437191127235,
          0.5572917679006295,
          0.7482655725962591,
          0.6435799740880603,
          0.34509802713919313,
          0.021423673670808885,
          0.640952694324525,
          0.17440205342790494,
          0.1332965908314021,
          0.583993110207876,
          0.3073865727705063,
          0.740625863119245,
          0.3345284735051981,
          0.17972981733780147,
          0.6315322816286787
         ],
         "y": [
          0.49474860768712914,
          0.14953665513987202,
          0.7696330846542071,
          0.14485659826020547,
          0.8089961609345658,
          0.7222846879290787,
          0.01876171413125327,
          0.8016111783687677,
          0.43196344222361227,
          0.9011339078096633,
          0.24026772497187532,
          0.10321622277398101,
          0.5006237737207431,
          0.1839028760606296,
          0.5886703168399895,
          0.1735506267461867,
          0.690016328140396,
          0.362322730884702,
          0.13985272363426526,
          0.891868301175821,
          0.026771817842421997,
          0.9532681441921305,
          0.7353428557575755,
          0.9768234503830939,
          0.13022993020357043,
          0.21665962402659544,
          0.2083567880838434,
          0.12631654071213483,
          0.5488515965193208,
          0.8800306496459869,
          0.4666482714834408,
          0.3232711412508066,
          0.9528527425842739,
          0.3996510641743197,
          0.42704536740474663,
          0.09186645974288632,
          0.68128520136847,
          0.6569436279895382,
          0.999395685828547,
          0.7311657634689946
         ]
        }
       ],
       "layout": {
        "hovermode": "closest",
        "margin": {
         "b": 20,
         "l": 5,
         "r": 5,
         "t": 40
        },
        "showlegend": false,
        "title": "<br>Network graph made with Python",
        "titlefont": {
         "size": 16
        },
        "xaxis": {
         "showgrid": false,
         "showticklabels": false,
         "zeroline": false
        },
        "yaxis": {
         "showgrid": false,
         "showticklabels": false,
         "zeroline": false
        }
       }
      },
      "text/html": [
       "<div id=\"3405cb08-85c6-47ce-9e50-688a40eb96fc\" style=\"height: 525px; width: 100%;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"3405cb08-85c6-47ce-9e50-688a40eb96fc\", [{\"type\": \"scatter\", \"x\": [0.7801603911549438, 0.740625863119245, null, 0.7801603911549438, 0.583993110207876, null, 0.7801603911549438, 0.640952694324525, null, 0.7801603911549438, 0.6435799740880603, null, 0.7801603911549438, 0.607698913404794, null, 0.5249831588690298, 0.3073865727705063, null, 0.5249831588690298, 0.640952694324525, null, 0.5249831588690298, 0.7482655725962591, null, 0.5249831588690298, 0.5572917679006295, null, 0.5249831588690298, 0.6243437191127235, null, 0.5249831588690298, 0.4238357358399233, null, 0.5249831588690298, 0.719569201584275, null, 0.5249831588690298, 0.607698913404794, null, 0.5249831588690298, 0.4582523173083307, null, 0.5249831588690298, 0.313999018186756, null, 0.8085335344099086, 0.6315322816286787, null, 0.8085335344099086, 0.740625863119245, null, 0.8085335344099086, 0.8252497121120052, null, 0.8085335344099086, 0.8860336256842246, null, 0.8085335344099086, 0.8551947714242674, null, 0.8085335344099086, 0.6824813442515916, null, 0.8085335344099086, 0.7353838928272886, null, 0.2599134798656856, 0.3073865727705063, null, 0.2599134798656856, 0.4238357358399233, null, 0.2599134798656856, 0.4582523173083307, null, 0.2599134798656856, 0.25311953895059136, null, 0.2599134798656856, 0.313999018186756, null, 0.7353838928272886, 0.6315322816286787, null, 0.7353838928272886, 0.740625863119245, null, 0.7353838928272886, 0.8252497121120052, null, 0.7353838928272886, 0.8860336256842246, null, 0.7353838928272886, 0.8551947714242674, null, 0.7353838928272886, 0.6824813442515916, null, 0.09088671576431506, 0.17440205342790494, null, 0.09088671576431506, 0.12939557977525573, null, 0.09088671576431506, 0.04580558670435442, null, 0.313999018186756, 0.3073865727705063, null, 0.313999018186756, 0.4238357358399233, null, 0.313999018186756, 0.4582523173083307, null, 0.313999018186756, 0.25311953895059136, null, 0.6824813442515916, 0.6315322816286787, null, 0.6824813442515916, 0.740625863119245, null, 0.6824813442515916, 0.47415009287034726, null, 0.6824813442515916, 0.8252497121120052, null, 0.6824813442515916, 0.8860336256842246, null, 0.6824813442515916, 0.8551947714242674, null, 0.20128789391122526, 0.1332965908314021, null, 0.20128789391122526, 0.021423673670808885, null, 0.20128789391122526, 0.04580558670435442, null, 0.8551947714242674, 0.740625863119245, null, 0.8551947714242674, 0.8252497121120052, null, 0.8551947714242674, 0.8860336256842246, null, 0.7581736589784409, 0.640952694324525, null, 0.7581736589784409, 0.7482655725962591, null, 0.7581736589784409, 0.5572917679006295, null, 0.7581736589784409, 0.6243437191127235, null, 0.7581736589784409, 0.9363713903322148, null, 0.7581736589784409, 0.719569201584275, null, 0.7581736589784409, 0.607698913404794, null, 0.7581736589784409, 0.9112422509614865, null, 0.25311953895059136, 0.3073865727705063, null, 0.25311953895059136, 0.4238357358399233, null, 0.25311953895059136, 0.4582523173083307, null, 0.4813859169876731, 0.3345284735051981, null, 0.4813859169876731, 0.583993110207876, null, 0.4813859169876731, 0.640952694324525, null, 0.4813859169876731, 0.6435799740880603, null, 0.4813859169876731, 0.47415009287034726, null, 0.4813859169876731, 0.607698913404794, null, 0.9112422509614865, 0.7482655725962591, null, 0.9112422509614865, 0.9363713903322148, null, 0.9112422509614865, 0.719569201584275, null, 0.04580558670435442, 0.1332965908314021, null, 0.04580558670435442, 0.021423673670808885, null, 0.04580558670435442, 0.12939557977525573, null, 0.4582523173083307, 0.3073865727705063, null, 0.4582523173083307, 0.640952694324525, null, 0.4582523173083307, 0.5572917679006295, null, 0.4582523173083307, 0.6243437191127235, null, 0.4582523173083307, 0.4238357358399233, null, 0.4582523173083307, 0.607698913404794, null, 0.12939557977525573, 0.3345284735051981, null, 0.12939557977525573, 0.021423673670808885, null, 0.607698913404794, 0.583993110207876, null, 0.607698913404794, 0.640952694324525, null, 0.607698913404794, 0.6435799740880603, null, 0.607698913404794, 0.5572917679006295, null, 0.607698913404794, 0.6243437191127235, null, 0.607698913404794, 0.719569201584275, null, 0.719569201584275, 0.640952694324525, null, 0.719569201584275, 0.7482655725962591, null, 0.719569201584275, 0.5572917679006295, null, 0.719569201584275, 0.6243437191127235, null, 0.719569201584275, 0.9363713903322148, null, 0.8860336256842246, 0.8252497121120052, null, 0.4238357358399233, 0.3073865727705063, null, 0.4238357358399233, 0.5572917679006295, null, 0.47415009287034726, 0.6315322816286787, null, 0.47415009287034726, 0.3345284735051981, null, 0.47415009287034726, 0.34509802713919313, null, 0.26253385360950576, 0.17972981733780147, null, 0.26253385360950576, 0.17440205342790494, null, 0.26253385360950576, 0.34509802713919313, null, 0.9363713903322148, 0.7482655725962591, null, 0.6243437191127235, 0.583993110207876, null, 0.6243437191127235, 0.640952694324525, null, 0.6243437191127235, 0.7482655725962591, null, 0.6243437191127235, 0.5572917679006295, null, 0.5572917679006295, 0.583993110207876, null, 0.5572917679006295, 0.640952694324525, null, 0.5572917679006295, 0.7482655725962591, null, 0.7482655725962591, 0.640952694324525, null, 0.6435799740880603, 0.6315322816286787, null, 0.6435799740880603, 0.740625863119245, null, 0.6435799740880603, 0.583993110207876, null, 0.6435799740880603, 0.640952694324525, null, 0.34509802713919313, 0.17972981733780147, null, 0.34509802713919313, 0.3345284735051981, null, 0.34509802713919313, 0.17440205342790494, null, 0.021423673670808885, 0.1332965908314021, null, 0.640952694324525, 0.583993110207876, null, 0.17440205342790494, 0.17972981733780147, null, 0.740625863119245, 0.6315322816286787, null], \"y\": [0.49474860768712914, 0.68128520136847, null, 0.49474860768712914, 0.42704536740474663, null, 0.49474860768712914, 0.3232711412508066, null, 0.49474860768712914, 0.5488515965193208, null, 0.49474860768712914, 0.362322730884702, null, 0.14953665513987202, 0.09186645974288632, null, 0.14953665513987202, 0.3232711412508066, null, 0.14953665513987202, 0.12631654071213483, null, 0.14953665513987202, 0.2083567880838434, null, 0.14953665513987202, 0.21665962402659544, null, 0.14953665513987202, 0.026771817842421997, null, 0.14953665513987202, 0.13985272363426526, null, 0.14953665513987202, 0.362322730884702, null, 0.14953665513987202, 0.1735506267461867, null, 0.14953665513987202, 0.01876171413125327, null, 0.7696330846542071, 0.7311657634689946, null, 0.7696330846542071, 0.68128520136847, null, 0.7696330846542071, 0.9532681441921305, null, 0.7696330846542071, 0.891868301175821, null, 0.7696330846542071, 0.9011339078096633, null, 0.7696330846542071, 0.8016111783687677, null, 0.7696330846542071, 0.8089961609345658, null, 0.14485659826020547, 0.09186645974288632, null, 0.14485659826020547, 0.026771817842421997, null, 0.14485659826020547, 0.1735506267461867, null, 0.14485659826020547, 0.10321622277398101, null, 0.14485659826020547, 0.01876171413125327, null, 0.8089961609345658, 0.7311657634689946, null, 0.8089961609345658, 0.68128520136847, null, 0.8089961609345658, 0.9532681441921305, null, 0.8089961609345658, 0.891868301175821, null, 0.8089961609345658, 0.9011339078096633, null, 0.8089961609345658, 0.8016111783687677, null, 0.7222846879290787, 0.9528527425842739, null, 0.7222846879290787, 0.690016328140396, null, 0.7222846879290787, 0.5886703168399895, null, 0.01876171413125327, 0.09186645974288632, null, 0.01876171413125327, 0.026771817842421997, null, 0.01876171413125327, 0.1735506267461867, null, 0.01876171413125327, 0.10321622277398101, null, 0.8016111783687677, 0.7311657634689946, null, 0.8016111783687677, 0.68128520136847, null, 0.8016111783687677, 0.7353428557575755, null, 0.8016111783687677, 0.9532681441921305, null, 0.8016111783687677, 0.891868301175821, null, 0.8016111783687677, 0.9011339078096633, null, 0.43196344222361227, 0.3996510641743197, null, 0.43196344222361227, 0.4666482714834408, null, 0.43196344222361227, 0.5886703168399895, null, 0.9011339078096633, 0.68128520136847, null, 0.9011339078096633, 0.9532681441921305, null, 0.9011339078096633, 0.891868301175821, null, 0.24026772497187532, 0.3232711412508066, null, 0.24026772497187532, 0.12631654071213483, null, 0.24026772497187532, 0.2083567880838434, null, 0.24026772497187532, 0.21665962402659544, null, 0.24026772497187532, 0.13022993020357043, null, 0.24026772497187532, 0.13985272363426526, null, 0.24026772497187532, 0.362322730884702, null, 0.24026772497187532, 0.1839028760606296, null, 0.10321622277398101, 0.09186645974288632, null, 0.10321622277398101, 0.026771817842421997, null, 0.10321622277398101, 0.1735506267461867, null, 0.5006237737207431, 0.6569436279895382, null, 0.5006237737207431, 0.42704536740474663, null, 0.5006237737207431, 0.3232711412508066, null, 0.5006237737207431, 0.5488515965193208, null, 0.5006237737207431, 0.7353428557575755, null, 0.5006237737207431, 0.362322730884702, null, 0.1839028760606296, 0.12631654071213483, null, 0.1839028760606296, 0.13022993020357043, null, 0.1839028760606296, 0.13985272363426526, null, 0.5886703168399895, 0.3996510641743197, null, 0.5886703168399895, 0.4666482714834408, null, 0.5886703168399895, 0.690016328140396, null, 0.1735506267461867, 0.09186645974288632, null, 0.1735506267461867, 0.3232711412508066, null, 0.1735506267461867, 0.2083567880838434, null, 0.1735506267461867, 0.21665962402659544, null, 0.1735506267461867, 0.026771817842421997, null, 0.1735506267461867, 0.362322730884702, null, 0.690016328140396, 0.6569436279895382, null, 0.690016328140396, 0.4666482714834408, null, 0.362322730884702, 0.42704536740474663, null, 0.362322730884702, 0.3232711412508066, null, 0.362322730884702, 0.5488515965193208, null, 0.362322730884702, 0.2083567880838434, null, 0.362322730884702, 0.21665962402659544, null, 0.362322730884702, 0.13985272363426526, null, 0.13985272363426526, 0.3232711412508066, null, 0.13985272363426526, 0.12631654071213483, null, 0.13985272363426526, 0.2083567880838434, null, 0.13985272363426526, 0.21665962402659544, null, 0.13985272363426526, 0.13022993020357043, null, 0.891868301175821, 0.9532681441921305, null, 0.026771817842421997, 0.09186645974288632, null, 0.026771817842421997, 0.2083567880838434, null, 0.7353428557575755, 0.7311657634689946, null, 0.7353428557575755, 0.6569436279895382, null, 0.7353428557575755, 0.8800306496459869, null, 0.9768234503830939, 0.999395685828547, null, 0.9768234503830939, 0.9528527425842739, null, 0.9768234503830939, 0.8800306496459869, null, 0.13022993020357043, 0.12631654071213483, null, 0.21665962402659544, 0.42704536740474663, null, 0.21665962402659544, 0.3232711412508066, null, 0.21665962402659544, 0.12631654071213483, null, 0.21665962402659544, 0.2083567880838434, null, 0.2083567880838434, 0.42704536740474663, null, 0.2083567880838434, 0.3232711412508066, null, 0.2083567880838434, 0.12631654071213483, null, 0.12631654071213483, 0.3232711412508066, null, 0.5488515965193208, 0.7311657634689946, null, 0.5488515965193208, 0.68128520136847, null, 0.5488515965193208, 0.42704536740474663, null, 0.5488515965193208, 0.3232711412508066, null, 0.8800306496459869, 0.999395685828547, null, 0.8800306496459869, 0.6569436279895382, null, 0.8800306496459869, 0.9528527425842739, null, 0.4666482714834408, 0.3996510641743197, null, 0.3232711412508066, 0.42704536740474663, null, 0.9528527425842739, 0.999395685828547, null, 0.68128520136847, 0.7311657634689946, null], \"line\": {\"width\": 0.5, \"color\": \"#888\"}, \"hoverinfo\": \"none\", \"mode\": \"lines\"}, {\"type\": \"scatter\", \"x\": [0.7801603911549438, 0.5249831588690298, 0.8085335344099086, 0.2599134798656856, 0.7353838928272886, 0.09088671576431506, 0.313999018186756, 0.6824813442515916, 0.20128789391122526, 0.8551947714242674, 0.7581736589784409, 0.25311953895059136, 0.4813859169876731, 0.9112422509614865, 0.04580558670435442, 0.4582523173083307, 0.12939557977525573, 0.607698913404794, 0.719569201584275, 0.8860336256842246, 0.4238357358399233, 0.8252497121120052, 0.47415009287034726, 0.26253385360950576, 0.9363713903322148, 0.6243437191127235, 0.5572917679006295, 0.7482655725962591, 0.6435799740880603, 0.34509802713919313, 0.021423673670808885, 0.640952694324525, 0.17440205342790494, 0.1332965908314021, 0.583993110207876, 0.3073865727705063, 0.740625863119245, 0.3345284735051981, 0.17972981733780147, 0.6315322816286787], \"y\": [0.49474860768712914, 0.14953665513987202, 0.7696330846542071, 0.14485659826020547, 0.8089961609345658, 0.7222846879290787, 0.01876171413125327, 0.8016111783687677, 0.43196344222361227, 0.9011339078096633, 0.24026772497187532, 0.10321622277398101, 0.5006237737207431, 0.1839028760606296, 0.5886703168399895, 0.1735506267461867, 0.690016328140396, 0.362322730884702, 0.13985272363426526, 0.891868301175821, 0.026771817842421997, 0.9532681441921305, 0.7353428557575755, 0.9768234503830939, 0.13022993020357043, 0.21665962402659544, 0.2083567880838434, 0.12631654071213483, 0.5488515965193208, 0.8800306496459869, 0.4666482714834408, 0.3232711412508066, 0.9528527425842739, 0.3996510641743197, 0.42704536740474663, 0.09186645974288632, 0.68128520136847, 0.6569436279895382, 0.999395685828547, 0.7311657634689946], \"text\": [\"Intersection 0\", \"Intersection 1\", \"Intersection 2\", \"Intersection 3\", \"Intersection 4\", \"Intersection 5\", \"Intersection 6\", \"Intersection 7\", \"Intersection 8\", \"Intersection 9\", \"Intersection 10\", \"Intersection 11\", \"Intersection 12\", \"Intersection 13\", \"Intersection 14\", \"Intersection 15\", \"Intersection 16\", \"Intersection 17\", \"Intersection 18\", \"Intersection 19\", \"Intersection 20\", \"Intersection 21\", \"Intersection 22\", \"Intersection 23\", \"Intersection 24\", \"Intersection 25\", \"Intersection 26\", \"Intersection 27\", \"Intersection 28\", \"Intersection 29\", \"Intersection 30\", \"Intersection 31\", \"Intersection 32\", \"Intersection 33\", \"Intersection 34\", \"Intersection 35\", \"Intersection 36\", \"Intersection 37\", \"Intersection 38\", \"Intersection 39\"], \"mode\": \"markers\", \"hoverinfo\": \"text\", \"marker\": {\"showscale\": false, \"colorscale\": \"Hot\", \"reversescale\": true, \"color\": [0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0], \"size\": 10, \"colorbar\": {\"thickness\": 15, \"title\": \"Node Connections\", \"xanchor\": \"left\", \"titleside\": \"right\"}, \"line\": {\"width\": 2}}}], {\"title\": \"<br>Network graph made with Python\", \"titlefont\": {\"size\": 16}, \"showlegend\": false, \"hovermode\": \"closest\", \"margin\": {\"b\": 20, \"l\": 5, \"r\": 5, \"t\": 40}, \"xaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}, \"yaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"3405cb08-85c6-47ce-9e50-688a40eb96fc\" style=\"height: 525px; width: 100%;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"3405cb08-85c6-47ce-9e50-688a40eb96fc\", [{\"type\": \"scatter\", \"x\": [0.7801603911549438, 0.740625863119245, null, 0.7801603911549438, 0.583993110207876, null, 0.7801603911549438, 0.640952694324525, null, 0.7801603911549438, 0.6435799740880603, null, 0.7801603911549438, 0.607698913404794, null, 0.5249831588690298, 0.3073865727705063, null, 0.5249831588690298, 0.640952694324525, null, 0.5249831588690298, 0.7482655725962591, null, 0.5249831588690298, 0.5572917679006295, null, 0.5249831588690298, 0.6243437191127235, null, 0.5249831588690298, 0.4238357358399233, null, 0.5249831588690298, 0.719569201584275, null, 0.5249831588690298, 0.607698913404794, null, 0.5249831588690298, 0.4582523173083307, null, 0.5249831588690298, 0.313999018186756, null, 0.8085335344099086, 0.6315322816286787, null, 0.8085335344099086, 0.740625863119245, null, 0.8085335344099086, 0.8252497121120052, null, 0.8085335344099086, 0.8860336256842246, null, 0.8085335344099086, 0.8551947714242674, null, 0.8085335344099086, 0.6824813442515916, null, 0.8085335344099086, 0.7353838928272886, null, 0.2599134798656856, 0.3073865727705063, null, 0.2599134798656856, 0.4238357358399233, null, 0.2599134798656856, 0.4582523173083307, null, 0.2599134798656856, 0.25311953895059136, null, 0.2599134798656856, 0.313999018186756, null, 0.7353838928272886, 0.6315322816286787, null, 0.7353838928272886, 0.740625863119245, null, 0.7353838928272886, 0.8252497121120052, null, 0.7353838928272886, 0.8860336256842246, null, 0.7353838928272886, 0.8551947714242674, null, 0.7353838928272886, 0.6824813442515916, null, 0.09088671576431506, 0.17440205342790494, null, 0.09088671576431506, 0.12939557977525573, null, 0.09088671576431506, 0.04580558670435442, null, 0.313999018186756, 0.3073865727705063, null, 0.313999018186756, 0.4238357358399233, null, 0.313999018186756, 0.4582523173083307, null, 0.313999018186756, 0.25311953895059136, null, 0.6824813442515916, 0.6315322816286787, null, 0.6824813442515916, 0.740625863119245, null, 0.6824813442515916, 0.47415009287034726, null, 0.6824813442515916, 0.8252497121120052, null, 0.6824813442515916, 0.8860336256842246, null, 0.6824813442515916, 0.8551947714242674, null, 0.20128789391122526, 0.1332965908314021, null, 0.20128789391122526, 0.021423673670808885, null, 0.20128789391122526, 0.04580558670435442, null, 0.8551947714242674, 0.740625863119245, null, 0.8551947714242674, 0.8252497121120052, null, 0.8551947714242674, 0.8860336256842246, null, 0.7581736589784409, 0.640952694324525, null, 0.7581736589784409, 0.7482655725962591, null, 0.7581736589784409, 0.5572917679006295, null, 0.7581736589784409, 0.6243437191127235, null, 0.7581736589784409, 0.9363713903322148, null, 0.7581736589784409, 0.719569201584275, null, 0.7581736589784409, 0.607698913404794, null, 0.7581736589784409, 0.9112422509614865, null, 0.25311953895059136, 0.3073865727705063, null, 0.25311953895059136, 0.4238357358399233, null, 0.25311953895059136, 0.4582523173083307, null, 0.4813859169876731, 0.3345284735051981, null, 0.4813859169876731, 0.583993110207876, null, 0.4813859169876731, 0.640952694324525, null, 0.4813859169876731, 0.6435799740880603, null, 0.4813859169876731, 0.47415009287034726, null, 0.4813859169876731, 0.607698913404794, null, 0.9112422509614865, 0.7482655725962591, null, 0.9112422509614865, 0.9363713903322148, null, 0.9112422509614865, 0.719569201584275, null, 0.04580558670435442, 0.1332965908314021, null, 0.04580558670435442, 0.021423673670808885, null, 0.04580558670435442, 0.12939557977525573, null, 0.4582523173083307, 0.3073865727705063, null, 0.4582523173083307, 0.640952694324525, null, 0.4582523173083307, 0.5572917679006295, null, 0.4582523173083307, 0.6243437191127235, null, 0.4582523173083307, 0.4238357358399233, null, 0.4582523173083307, 0.607698913404794, null, 0.12939557977525573, 0.3345284735051981, null, 0.12939557977525573, 0.021423673670808885, null, 0.607698913404794, 0.583993110207876, null, 0.607698913404794, 0.640952694324525, null, 0.607698913404794, 0.6435799740880603, null, 0.607698913404794, 0.5572917679006295, null, 0.607698913404794, 0.6243437191127235, null, 0.607698913404794, 0.719569201584275, null, 0.719569201584275, 0.640952694324525, null, 0.719569201584275, 0.7482655725962591, null, 0.719569201584275, 0.5572917679006295, null, 0.719569201584275, 0.6243437191127235, null, 0.719569201584275, 0.9363713903322148, null, 0.8860336256842246, 0.8252497121120052, null, 0.4238357358399233, 0.3073865727705063, null, 0.4238357358399233, 0.5572917679006295, null, 0.47415009287034726, 0.6315322816286787, null, 0.47415009287034726, 0.3345284735051981, null, 0.47415009287034726, 0.34509802713919313, null, 0.26253385360950576, 0.17972981733780147, null, 0.26253385360950576, 0.17440205342790494, null, 0.26253385360950576, 0.34509802713919313, null, 0.9363713903322148, 0.7482655725962591, null, 0.6243437191127235, 0.583993110207876, null, 0.6243437191127235, 0.640952694324525, null, 0.6243437191127235, 0.7482655725962591, null, 0.6243437191127235, 0.5572917679006295, null, 0.5572917679006295, 0.583993110207876, null, 0.5572917679006295, 0.640952694324525, null, 0.5572917679006295, 0.7482655725962591, null, 0.7482655725962591, 0.640952694324525, null, 0.6435799740880603, 0.6315322816286787, null, 0.6435799740880603, 0.740625863119245, null, 0.6435799740880603, 0.583993110207876, null, 0.6435799740880603, 0.640952694324525, null, 0.34509802713919313, 0.17972981733780147, null, 0.34509802713919313, 0.3345284735051981, null, 0.34509802713919313, 0.17440205342790494, null, 0.021423673670808885, 0.1332965908314021, null, 0.640952694324525, 0.583993110207876, null, 0.17440205342790494, 0.17972981733780147, null, 0.740625863119245, 0.6315322816286787, null], \"y\": [0.49474860768712914, 0.68128520136847, null, 0.49474860768712914, 0.42704536740474663, null, 0.49474860768712914, 0.3232711412508066, null, 0.49474860768712914, 0.5488515965193208, null, 0.49474860768712914, 0.362322730884702, null, 0.14953665513987202, 0.09186645974288632, null, 0.14953665513987202, 0.3232711412508066, null, 0.14953665513987202, 0.12631654071213483, null, 0.14953665513987202, 0.2083567880838434, null, 0.14953665513987202, 0.21665962402659544, null, 0.14953665513987202, 0.026771817842421997, null, 0.14953665513987202, 0.13985272363426526, null, 0.14953665513987202, 0.362322730884702, null, 0.14953665513987202, 0.1735506267461867, null, 0.14953665513987202, 0.01876171413125327, null, 0.7696330846542071, 0.7311657634689946, null, 0.7696330846542071, 0.68128520136847, null, 0.7696330846542071, 0.9532681441921305, null, 0.7696330846542071, 0.891868301175821, null, 0.7696330846542071, 0.9011339078096633, null, 0.7696330846542071, 0.8016111783687677, null, 0.7696330846542071, 0.8089961609345658, null, 0.14485659826020547, 0.09186645974288632, null, 0.14485659826020547, 0.026771817842421997, null, 0.14485659826020547, 0.1735506267461867, null, 0.14485659826020547, 0.10321622277398101, null, 0.14485659826020547, 0.01876171413125327, null, 0.8089961609345658, 0.7311657634689946, null, 0.8089961609345658, 0.68128520136847, null, 0.8089961609345658, 0.9532681441921305, null, 0.8089961609345658, 0.891868301175821, null, 0.8089961609345658, 0.9011339078096633, null, 0.8089961609345658, 0.8016111783687677, null, 0.7222846879290787, 0.9528527425842739, null, 0.7222846879290787, 0.690016328140396, null, 0.7222846879290787, 0.5886703168399895, null, 0.01876171413125327, 0.09186645974288632, null, 0.01876171413125327, 0.026771817842421997, null, 0.01876171413125327, 0.1735506267461867, null, 0.01876171413125327, 0.10321622277398101, null, 0.8016111783687677, 0.7311657634689946, null, 0.8016111783687677, 0.68128520136847, null, 0.8016111783687677, 0.7353428557575755, null, 0.8016111783687677, 0.9532681441921305, null, 0.8016111783687677, 0.891868301175821, null, 0.8016111783687677, 0.9011339078096633, null, 0.43196344222361227, 0.3996510641743197, null, 0.43196344222361227, 0.4666482714834408, null, 0.43196344222361227, 0.5886703168399895, null, 0.9011339078096633, 0.68128520136847, null, 0.9011339078096633, 0.9532681441921305, null, 0.9011339078096633, 0.891868301175821, null, 0.24026772497187532, 0.3232711412508066, null, 0.24026772497187532, 0.12631654071213483, null, 0.24026772497187532, 0.2083567880838434, null, 0.24026772497187532, 0.21665962402659544, null, 0.24026772497187532, 0.13022993020357043, null, 0.24026772497187532, 0.13985272363426526, null, 0.24026772497187532, 0.362322730884702, null, 0.24026772497187532, 0.1839028760606296, null, 0.10321622277398101, 0.09186645974288632, null, 0.10321622277398101, 0.026771817842421997, null, 0.10321622277398101, 0.1735506267461867, null, 0.5006237737207431, 0.6569436279895382, null, 0.5006237737207431, 0.42704536740474663, null, 0.5006237737207431, 0.3232711412508066, null, 0.5006237737207431, 0.5488515965193208, null, 0.5006237737207431, 0.7353428557575755, null, 0.5006237737207431, 0.362322730884702, null, 0.1839028760606296, 0.12631654071213483, null, 0.1839028760606296, 0.13022993020357043, null, 0.1839028760606296, 0.13985272363426526, null, 0.5886703168399895, 0.3996510641743197, null, 0.5886703168399895, 0.4666482714834408, null, 0.5886703168399895, 0.690016328140396, null, 0.1735506267461867, 0.09186645974288632, null, 0.1735506267461867, 0.3232711412508066, null, 0.1735506267461867, 0.2083567880838434, null, 0.1735506267461867, 0.21665962402659544, null, 0.1735506267461867, 0.026771817842421997, null, 0.1735506267461867, 0.362322730884702, null, 0.690016328140396, 0.6569436279895382, null, 0.690016328140396, 0.4666482714834408, null, 0.362322730884702, 0.42704536740474663, null, 0.362322730884702, 0.3232711412508066, null, 0.362322730884702, 0.5488515965193208, null, 0.362322730884702, 0.2083567880838434, null, 0.362322730884702, 0.21665962402659544, null, 0.362322730884702, 0.13985272363426526, null, 0.13985272363426526, 0.3232711412508066, null, 0.13985272363426526, 0.12631654071213483, null, 0.13985272363426526, 0.2083567880838434, null, 0.13985272363426526, 0.21665962402659544, null, 0.13985272363426526, 0.13022993020357043, null, 0.891868301175821, 0.9532681441921305, null, 0.026771817842421997, 0.09186645974288632, null, 0.026771817842421997, 0.2083567880838434, null, 0.7353428557575755, 0.7311657634689946, null, 0.7353428557575755, 0.6569436279895382, null, 0.7353428557575755, 0.8800306496459869, null, 0.9768234503830939, 0.999395685828547, null, 0.9768234503830939, 0.9528527425842739, null, 0.9768234503830939, 0.8800306496459869, null, 0.13022993020357043, 0.12631654071213483, null, 0.21665962402659544, 0.42704536740474663, null, 0.21665962402659544, 0.3232711412508066, null, 0.21665962402659544, 0.12631654071213483, null, 0.21665962402659544, 0.2083567880838434, null, 0.2083567880838434, 0.42704536740474663, null, 0.2083567880838434, 0.3232711412508066, null, 0.2083567880838434, 0.12631654071213483, null, 0.12631654071213483, 0.3232711412508066, null, 0.5488515965193208, 0.7311657634689946, null, 0.5488515965193208, 0.68128520136847, null, 0.5488515965193208, 0.42704536740474663, null, 0.5488515965193208, 0.3232711412508066, null, 0.8800306496459869, 0.999395685828547, null, 0.8800306496459869, 0.6569436279895382, null, 0.8800306496459869, 0.9528527425842739, null, 0.4666482714834408, 0.3996510641743197, null, 0.3232711412508066, 0.42704536740474663, null, 0.9528527425842739, 0.999395685828547, null, 0.68128520136847, 0.7311657634689946, null], \"line\": {\"width\": 0.5, \"color\": \"#888\"}, \"hoverinfo\": \"none\", \"mode\": \"lines\"}, {\"type\": \"scatter\", \"x\": [0.7801603911549438, 0.5249831588690298, 0.8085335344099086, 0.2599134798656856, 0.7353838928272886, 0.09088671576431506, 0.313999018186756, 0.6824813442515916, 0.20128789391122526, 0.8551947714242674, 0.7581736589784409, 0.25311953895059136, 0.4813859169876731, 0.9112422509614865, 0.04580558670435442, 0.4582523173083307, 0.12939557977525573, 0.607698913404794, 0.719569201584275, 0.8860336256842246, 0.4238357358399233, 0.8252497121120052, 0.47415009287034726, 0.26253385360950576, 0.9363713903322148, 0.6243437191127235, 0.5572917679006295, 0.7482655725962591, 0.6435799740880603, 0.34509802713919313, 0.021423673670808885, 0.640952694324525, 0.17440205342790494, 0.1332965908314021, 0.583993110207876, 0.3073865727705063, 0.740625863119245, 0.3345284735051981, 0.17972981733780147, 0.6315322816286787], \"y\": [0.49474860768712914, 0.14953665513987202, 0.7696330846542071, 0.14485659826020547, 0.8089961609345658, 0.7222846879290787, 0.01876171413125327, 0.8016111783687677, 0.43196344222361227, 0.9011339078096633, 0.24026772497187532, 0.10321622277398101, 0.5006237737207431, 0.1839028760606296, 0.5886703168399895, 0.1735506267461867, 0.690016328140396, 0.362322730884702, 0.13985272363426526, 0.891868301175821, 0.026771817842421997, 0.9532681441921305, 0.7353428557575755, 0.9768234503830939, 0.13022993020357043, 0.21665962402659544, 0.2083567880838434, 0.12631654071213483, 0.5488515965193208, 0.8800306496459869, 0.4666482714834408, 0.3232711412508066, 0.9528527425842739, 0.3996510641743197, 0.42704536740474663, 0.09186645974288632, 0.68128520136847, 0.6569436279895382, 0.999395685828547, 0.7311657634689946], \"text\": [\"Intersection 0\", \"Intersection 1\", \"Intersection 2\", \"Intersection 3\", \"Intersection 4\", \"Intersection 5\", \"Intersection 6\", \"Intersection 7\", \"Intersection 8\", \"Intersection 9\", \"Intersection 10\", \"Intersection 11\", \"Intersection 12\", \"Intersection 13\", \"Intersection 14\", \"Intersection 15\", \"Intersection 16\", \"Intersection 17\", \"Intersection 18\", \"Intersection 19\", \"Intersection 20\", \"Intersection 21\", \"Intersection 22\", \"Intersection 23\", \"Intersection 24\", \"Intersection 25\", \"Intersection 26\", \"Intersection 27\", \"Intersection 28\", \"Intersection 29\", \"Intersection 30\", \"Intersection 31\", \"Intersection 32\", \"Intersection 33\", \"Intersection 34\", \"Intersection 35\", \"Intersection 36\", \"Intersection 37\", \"Intersection 38\", \"Intersection 39\"], \"mode\": \"markers\", \"hoverinfo\": \"text\", \"marker\": {\"showscale\": false, \"colorscale\": \"Hot\", \"reversescale\": true, \"color\": [0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0], \"size\": 10, \"colorbar\": {\"thickness\": 15, \"title\": \"Node Connections\", \"xanchor\": \"left\", \"titleside\": \"right\"}, \"line\": {\"width\": 2}}}], {\"title\": \"<br>Network graph made with Python\", \"titlefont\": {\"size\": 16}, \"showlegend\": false, \"hovermode\": \"closest\", \"margin\": {\"b\": 20, \"l\": 5, \"r\": 5, \"t\": 40}, \"xaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}, \"yaxis\": {\"showgrid\": false, \"zeroline\": false, \"showticklabels\": false}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# run this code, note the effect of including the optional\n",
    "# parameters in the function call.\n",
    "show_map(map_40, start=5, goal=34, path=[5,16,37,12,34])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Algorithm\n",
    "### Writing your algorithm\n",
    "The algorithm written will be responsible for generating a `path` like the one passed into `show_map` above. In fact, when called with the same map, start and goal, as above you algorithm should produce the path `[5, 16, 37, 12, 34]`. However you must complete several methods before it will work.\n",
    "\n",
    "```bash\n",
    "> PathPlanner(map_40, 5, 34).path\n",
    "[5, 16, 37, 12, 34]\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Do not change this cell\n",
    "# When you write your methods correctly this cell will execute\n",
    "# without problems\n",
    "class PathPlanner():\n",
    "    \"\"\"Construct a PathPlanner Object\"\"\"\n",
    "    def __init__(self, M, start=None, goal=None):\n",
    "        \"\"\" \"\"\"\n",
    "        self.map = M\n",
    "        self.start= start\n",
    "        self.goal = goal\n",
    "        self.closedSet = self.create_closedSet() if goal != None and start != None else None\n",
    "        self.openSet = self.create_openSet() if goal != None and start != None else None\n",
    "        self.cameFrom = self.create_cameFrom() if goal != None and start != None else None\n",
    "        self.gScore = self.create_gScore() if goal != None and start != None else None\n",
    "        self.fScore = self.create_fScore() if goal != None and start != None else None\n",
    "        self.path = self.run_search() if self.map and self.start != None and self.goal != None else None\n",
    "        \n",
    "    def get_path(self):\n",
    "        \"\"\" Reconstructs path after search \"\"\"\n",
    "        if self.path:\n",
    "            return self.path \n",
    "        else :\n",
    "            self.run_search()\n",
    "            return self.path\n",
    "    \n",
    "    def reconstruct_path(self, current):\n",
    "        \"\"\" Reconstructs path after search \"\"\"\n",
    "        total_path = [current]\n",
    "        while current in self.cameFrom.keys():\n",
    "            current = self.cameFrom[current]\n",
    "            total_path.append(current)\n",
    "        return total_path\n",
    "    \n",
    "    def _reset(self):\n",
    "        \"\"\"Private method used to reset the closedSet, openSet, cameFrom, gScore, fScore, and path attributes\"\"\"\n",
    "        self.closedSet = None\n",
    "        self.openSet = None\n",
    "        self.cameFrom = None\n",
    "        self.gScore = None\n",
    "        self.fScore = None\n",
    "        self.path = self.run_search() if self.map and self.start and self.goal else None\n",
    "\n",
    "    def run_search(self):\n",
    "        \"\"\" \"\"\"\n",
    "        if self.map == None:\n",
    "            raise(ValueError, \"Must create map before running search. Try running PathPlanner.set_map(start_node)\")\n",
    "        if self.goal == None:\n",
    "            raise(ValueError, \"Must create goal node before running search. Try running PathPlanner.set_goal(start_node)\")\n",
    "        if self.start == None:\n",
    "            raise(ValueError, \"Must create start node before running search. Try running PathPlanner.set_start(start_node)\")\n",
    "\n",
    "        self.closedSet = self.closedSet if self.closedSet != None else self.create_closedSet()\n",
    "        self.openSet = self.openSet if self.openSet != None else  self.create_openSet()\n",
    "        self.cameFrom = self.cameFrom if self.cameFrom != None else  self.create_cameFrom()\n",
    "        self.gScore = self.gScore if self.gScore != None else  self.create_gScore()\n",
    "        self.fScore = self.fScore if self.fScore != None else  self.create_fScore()\n",
    "\n",
    "        while not self.is_open_empty():\n",
    "            current = self.get_current_node()\n",
    "\n",
    "            if current == self.goal:\n",
    "                self.path = [x for x in reversed(self.reconstruct_path(current))]\n",
    "                return self.path\n",
    "            else:\n",
    "                self.openSet.remove(current)\n",
    "                self.closedSet.add(current)\n",
    "\n",
    "            for neighbor in self.get_neighbors(current):\n",
    "                if neighbor in self.closedSet:\n",
    "                    continue    # Ignore the neighbor which is already evaluated.\n",
    "\n",
    "                if not neighbor in self.openSet:    # Discover a new node\n",
    "                    self.openSet.add(neighbor)\n",
    "                \n",
    "                # The distance from start to a neighbor\n",
    "                #the \"dist_between\" function may vary as per the solution requirements.\n",
    "                if self.get_tenative_gScore(current, neighbor) >= self.get_gScore(neighbor):\n",
    "                    continue        # This is not a better path.\n",
    "\n",
    "                # This path is the best until now. Record it!\n",
    "                self.record_best_path_to(current, neighbor)\n",
    "        print(\"No Path Found\")\n",
    "        self.path = None\n",
    "        return False"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Create the following methods:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_closedSet(self):\n",
    "    \"\"\" Creates and returns a data structure suitable to hold the set of nodes already evaluated\"\"\"\n",
    "    # TODO: return a data structure suitable to hold the set of nodes already evaluated\n",
    "    return set()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_openSet(self):\n",
    "    \"\"\" Creates and returns a data structure suitable to hold the set of currently discovered nodes \n",
    "    that are not evaluated yet. Initially, only the start node is known.\"\"\"\n",
    "    if self.start != None:\n",
    "        # TODO: return a data structure suitable to hold the set of currently discovered nodes \n",
    "        # that are not evaluated yet. Make sure to include the start node.\n",
    "        return set([self.start])\n",
    "    \n",
    "    raise(ValueError, \"Must create start node before creating an open set. Try running PathPlanner.set_start(start_node)\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_cameFrom(self):\n",
    "    \"\"\"Creates and returns a data structure that shows which node can most efficiently be reached from another,\n",
    "    for each node.\"\"\"\n",
    "    # TODO: return a data structure that shows which node can most efficiently be reached from another,\n",
    "    # for each node. \n",
    "    return dict()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_gScore(self):\n",
    "    \"\"\"Creates and returns a data structure that holds the cost of getting from the start node to that node, for each node.\n",
    "    The cost of going from start to start is zero.\"\"\"\n",
    "    # TODO:  a data structure that holds the cost of getting from the start node to that node, for each node.\n",
    "    # for each node. The cost of going from start to start is zero. The rest of the node's values should be set to infinity.\n",
    "    gScore = {key:float(\"inf\") for key in self.map.intersections}\n",
    "    gScore[self.start] = 0.0\n",
    "    return gScore\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_fScore(self):\n",
    "    \"\"\"Creates and returns a data structure that holds the total cost of getting from the start node to the goal\n",
    "    by passing by that node, for each node. That value is partly known, partly heuristic.\n",
    "    For the first node, that value is completely heuristic.\"\"\"\n",
    "    # TODO:  a data structure that holds the total cost of getting from the start node to the goal\n",
    "    # by passing by that node, for each node. That value is partly known, partly heuristic.\n",
    "    # For the first node, that value is completely heuristic. The rest of the node's value should be \n",
    "    # set to infinity.\n",
    "    fScore = {key:float(\"inf\") for key in self.map.intersections}\n",
    "    fScore[self.start] = self.heuristic_cost_estimate(self.start)\n",
    "    return fScore"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def set_map(self, M):\n",
    "    \"\"\"Method used to set map attribute \"\"\"\n",
    "    self._reset(self)\n",
    "    self.start = None\n",
    "    self.goal = None\n",
    "    # TODO: Set map to new value. \n",
    "    self.map = M\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "def _reset(self):\n",
    "        \"\"\"Private method used to reset the closedSet, openSet, cameFrom, gScore, fScore, and path attributes\"\"\"\n",
    "        self.closedSet = None\n",
    "        self.openSet = None\n",
    "        self.cameFrom = None\n",
    "        self.gScore = None\n",
    "        self.fScore = None\n",
    "        self.path = self.run_search() if self.map and self.start and self.goal else None\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "def set_start(self, start):\n",
    "    \"\"\"Method used to set start attribute \"\"\"\n",
    "    self._reset(self)\n",
    "    # TODO: Set start value. Remember to remove goal, closedSet, openSet, cameFrom, gScore, fScore, \n",
    "    # and path attributes' values.\n",
    "    self.goal = None\n",
    "    self.start = start\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "def set_goal(self, goal):\n",
    "    \"\"\"Method used to set goal attribute \"\"\"\n",
    "    self._reset(self)\n",
    "    # TODO: Set goal value. \n",
    "    self.goal = goal"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_current_node(self):\n",
    "    \"\"\" Returns the node in the open set with the lowest value of f(node).\"\"\"\n",
    "    # TODO: Return the node in the open set with the lowest value of f(node).\n",
    "    current_node = None\n",
    "    current_min = 0\n",
    "    for node in self.openSet:\n",
    "        if (current_node == None):\n",
    "            current_node = node\n",
    "            current_min = self.calculate_fscore(node)\n",
    "        if self.calculate_fscore(node) < current_min:\n",
    "            current_node = node\n",
    "            current_min = self.calculate_fscore(node)\n",
    "    return current_node\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_neighbors(self, node):\n",
    "    \"\"\"Returns the neighbors of a node\"\"\"\n",
    "    # TODO: Return the neighbors of a node\n",
    "    return(self.map.roads[node])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_gScore(self, node):\n",
    "    \"\"\"Returns the g Score of a node\"\"\"\n",
    "    # TODO: Return the g Score of a node\n",
    "    return self.gScore[node]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_tenative_gScore(self, current, neighbor):\n",
    "    \"\"\"Returns the tenative g Score of a node\"\"\"\n",
    "    # TODO: Return the g Score of the current node \n",
    "    # plus distance from the current node to it's neighbors\n",
    "    return self.gScore[current] + self.distance(current,neighbor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "def is_open_empty(self):\n",
    "    \"\"\"returns True if the open set is empty. False otherwise. \"\"\"\n",
    "    # TODO: Return True if the open set is empty. False otherwise.\n",
    "    return len(self.openSet) == 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "def distance(self, node_1, node_2):\n",
    "    \"\"\" Computes the Euclidean L2 Distance\"\"\"\n",
    "    # TODO: Compute and return the Euclidean L2 Distance\n",
    "    x1, y1 = self.map.intersections[node_1]\n",
    "    x2, y2 = self.map.intersections[node_2]\n",
    "    return math.sqrt((x1-x2)**2 + (y1-y2)**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "def heuristic_cost_estimate(self, node):\n",
    "    \"\"\" Returns the heuristic cost estimate of a node \"\"\"\n",
    "    # TODO: Return the heuristic cost estimate of a node\n",
    "    return self.distance(node, self.goal)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "def calculate_fscore(self, node):\n",
    "    \"\"\"Calculate the f score of a node. \"\"\"\n",
    "    # TODO: Calculate and returns the f score of a node. \n",
    "    # REMEMBER F = G + H\n",
    "    self.fScore[node] = self.get_gScore(node) + self.heuristic_cost_estimate(node)\n",
    "    return self.fScore[node]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "def record_best_path_to(self, current, neighbor):\n",
    "    \"\"\"Record the best path to a node \"\"\"\n",
    "    # TODO: Record the best path to a node, by updating cameFrom, gScore, and fScore\n",
    "    self.cameFrom[neighbor] = current\n",
    "    self.gScore[neighbor] = self.get_tenative_gScore(current, neighbor)\n",
    "    self.calculate_fscore(neighbor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "PathPlanner.create_closedSet = create_closedSet\n",
    "PathPlanner.create_openSet = create_openSet\n",
    "PathPlanner.create_cameFrom = create_cameFrom\n",
    "PathPlanner.create_gScore = create_gScore\n",
    "PathPlanner.create_fScore = create_fScore\n",
    "PathPlanner._reset = _reset\n",
    "PathPlanner.set_map = set_map\n",
    "PathPlanner.set_start = set_start\n",
    "PathPlanner.set_goal = set_goal\n",
    "PathPlanner.get_current_node = get_current_node\n",
    "PathPlanner.get_neighbors = get_neighbors\n",
    "PathPlanner.get_gScore = get_gScore\n",
    "PathPlanner.get_tenative_gScore = get_tenative_gScore\n",
    "PathPlanner.is_open_empty = is_open_empty\n",
    "PathPlanner.distance = distance\n",
    "PathPlanner.heuristic_cost_estimate = heuristic_cost_estimate\n",
    "PathPlanner.calculate_fscore = calculate_fscore\n",
    "PathPlanner.record_best_path_to = record_best_path_to"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "great! Your code works for these inputs!\n"
     ]
    }
   ],
   "source": [
    "planner = PathPlanner(map_40, 5, 34)\n",
    "path = planner.path\n",
    "if path == [5, 16, 37, 12, 34]:\n",
    "    print(\"great! Your code works for these inputs!\")\n",
    "else:\n",
    "    print(\"something is off, your code produced the following:\")\n",
    "    print(path)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Testing your Code\n",
    "If the code below produces no errors, your algorithm is behaving correctly. You are almost ready to submit! Before you submit, go through the following submission checklist:\n",
    "\n",
    "**Submission Checklist**\n",
    "\n",
    "1. Does my code pass all tests?\n",
    "2. Does my code implement `A*` search and not some other search algorithm?\n",
    "3. Do I use an **admissible heuristic** to direct search efforts towards the goal?\n",
    "4. Do I use data structures which avoid unnecessarily slow lookups?\n",
    "\n",
    "When you can answer \"yes\" to all of these questions, submit by pressing the Submit button in the lower right!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "All tests pass! Congratulations!\n"
     ]
    }
   ],
   "source": [
    "from test import test\n",
    "\n",
    "test(PathPlanner)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "great! Your code works for these inputs!\n"
     ]
    }
   ],
   "source": [
    "planner = PathPlanner(map_40, 8, 24)\n",
    "path = planner.path\n",
    "if path == [8, 14, 16, 37, 12, 17, 10, 24]:\n",
    "    print(\"great! Your code works for these inputs!\")\n",
    "else:\n",
    "    print(\"something is off, your code produced the following:\")\n",
    "    print(path)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Questions\n",
    "\n",
    "**Instructions**  Answer the following questions in your own words. We do not you expect you to know all of this knowledge on the top of your head. We expect you to do research and ask question. However do not merely copy and paste the answer from a google or stackoverflow. Read the information and understand it first. Then use your own words to explain the answer."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- How would you explain A-Star to a family member(layman)?\n",
    "\n",
    "** ANSWER **:\n",
    "![Uniform Cost Search vs A*](Explain.jpg)\n",
    "\n",
    "Dear friend, do you remember when we talk about searching the best path? You need to check all node next of the actual node and next check all node children of the others node and like that? (Like the left image in the top) That is very slow and expensive for a computer, but what happens if we have more data and could know an estimation of how far is our objective? You can search only the nearest nodes and could be faster, but remember not always the estimation is the best, you can see in the right image an example of A*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- How does A-Star search algorithm differ from Uniform cost search? What about Best First search?\n",
    "\n",
    "** ANSWER **:\n",
    "The Uniform cost search by layer, deeper is the objective more expensive is to get it, this is great for few nodes but for example in google maps we have all the world this could be very slow so we add more information to our nodes and we have a heuristic function that give a estimation of how far is form the objective, so you don't search by layer you search in the best estimate path.\n",
    "The different with the Best First Search is that Best First Search is very fast and inexpensive  but doesn't give you the best path. This could be helpful in very few case."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- What is a heuristic?\n",
    "\n",
    "** ANSWER **:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- What is a consistent heuristic?\n",
    "\n",
    "** ANSWER **:\n",
    "\n",
    "Is when the cost of  current node and the next node plus the estimation cost from the next node to the goal is less than the the estimation cost from the current node to the goal.\n",
    "\n",
    "The math representation is:  \"C(n, n’) + h(n’) ≤ h(n)\"\n",
    "\n",
    "(Nicholas Qiao, 2014 https://thefinalbit.wordpress.com/2014/01/24/admissible-vs-consistent-heuristics/)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- What is a admissible heuristic? \n",
    "\n",
    "** ANSWER **:\n",
    "\n",
    "Is admissible when the estimation cost is not more than the actual cost from the current node to the goal. You need to have an admissible   heuristic to used that function in A*.\n",
    "\n",
    "\n",
    "\n",
    "Nicholas Qiao, 2014 https://thefinalbit.wordpress.com/2014/01/24/admissible-vs-consistent-heuristics/"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- ___ admissible heuristic are consistent.\n",
    "*CHOOSE ONE*\n",
    "    - All\n",
    "    - Some\n",
    "    - None\n",
    "    \n",
    "** ANSWER **:\n",
    "Some"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- ___ Consistent heuristic are admissible.\n",
    "*CHOOSE ONE*\n",
    "    - All\n",
    "    - Some\n",
    "    - None\n",
    "    \n",
    "** ANSWER **:\n",
    "All"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
